python cURL JavaScript (browser) JavaScript (NodeJS)
Overview

Overview

Welcome to the Hestia API documentation!

API

API

To access the API:

  1. Create an Account.
  2. Retrieve your access token:
curl -X POST "<APIUrl>/users/signin" \
  -H "Content-Type: application/json" \
  --data '{"email":"email@email.com","password":"pwd"}' | jq '.token'
import json
import requests

headers = {'Content-Type': 'application/json'}
body = json.dumps({"email":"email@email.com","password":"pwd"})
token = requests.post('<APIUrl>/users/signin', body, headers=headers).json().get('token')
print(token)
(async () => {
  const url = '<APIUrl>/users/signin';
  const headers = {
    'Content-Type': 'application/json'
  };
  const body = JSON.stringify({ email: 'email@email.com', password: 'pwd' });
  const response = await fetch(url, { method: 'POST', headers, body });
  const { token } = await response.json();
  console.log(token);
})();
const axios = require('axios');

(async () => {
  const url = '<APIUrl>/users/signin';
  const body = { email: 'email@email.com', password: 'pwd' };
  const { data: { token } } = await axios.post(url, body);
  console.log(token);
})();
Documentation

Documentation

You can view the API documentation and test it here.

Samples

Samples

Retrieving your profile

curl -H "X-ACCESS-TOKEN: <your-token>" \
  -H "Content-Type: application/json" \
  "<APIUrl>/users/me"
import requests

headers = {'Content-Type': 'application/json', 'X-ACCESS-TOKEN': '<your-token>'}
profile = requests.get('<APIUrl>/users/me', headers=headers).json()
print(profile)
(async () => {
  const url = '<APIUrl>/users/me';
  const headers = {
    'Content-Type': 'application/json',
    'X-ACCESS-TOKEN': '<your-token>'
  };
  const response = await fetch(url, { headers });
  const profile = await response.json();
  console.log(profile);
})();
const axios = require('axios');

(async () => {
  const url = '<APIUrl>/users/me';
  const headers = {
    'X-ACCESS-TOKEN': '<your-token>'
  };
  const { data } = await axios.get(url, { headers });
  console.log(data);
})();

Downloading a node (example for a Term)

curl "<APIUrl>/terms/sandContent"
import requests

headers = {'Content-Type': 'application/json'}
node = requests.get('<APIUrl>/terms/sandContent', headers=headers).json()
print(node)
# or use our utils library
from hestia_earth.schema import SchemaType
from hestia_earth.utils.api import download_hestia

node = download_hestia('sandContent', SchemaType.TERM)
(async () => {
  const url = '<APIUrl>/terms/sandContent';
  const headers = {
    'Content-Type': 'application/json'
  };
  const response = await fetch(url, { headers });
  const node = await response.json();
  console.log(node);
})();
const axios = require('axios');

(async () => {
  const url = '<APIUrl>/terms/sandContent';
  const { data } = await axios.get(url);
  console.log(data);
})();

Getting related nodes

curl "<APIUrl>/terms/sandContent/sites"
import requests

headers = {'Content-Type': 'application/json'}
node = requests.get('<APIUrl>/terms/sandContent/sites', headers=headers).json()
print(node)
# or use our utils library
from hestia_earth.schema import SchemaType
from hestia_earth.utils.api import find_related

cycles = find_related(SchemaType.TERM, 'sandContent', SchemaType.SITE)
(async () => {
  const url = '<APIUrl>/terms/sandContent/sites';
  const headers = {
    'Content-Type': 'application/json'
  };
  const response = await fetch(url, { headers });
  const node = await response.json();
  console.log(node);
})();
const axios = require('axios');

(async () => {
  const url = '<APIUrl>/terms/sandContent/sites';
  const { data } = await axios.get(url);
  console.log(data);
})();

All of our Nodes are linked together by a Graph Database, which means you can get a list of Site that are linked to a Term for example.

Full Examples

Full Examples

from hestia_earth.schema import SchemaType
from hestia_earth.utils.api import find_node, download_hestia

# this will give you partial information only
cycles = find_node(SchemaType.CYCLE, {
  'emissions.term.name': 'NO3, to groundwater, soil flux'
})

for cycle in cycles:
  # to retrieve the complete data of the cycle
  data = download_hestia(cycle['@id'], SchemaType.CYCLE, data_state='recaclulated')
  inputs = data.get('inputs', [])
  N_filter = [sum(input.get('value')) if input.get('term', {}).get('units') == 'kg N' else 0 for input in inputs]
  total = sum(N_filter)
  print(cycle, 'total nitrogen fertilizer', total)
from hestia_earth.schema import SchemaType
from hestia_earth.utils.api import find_node, download_hestia
from hestia_earth.utils.model import find_term_match

# searching for aggregated GWP100 emissions on "Maize, grain"
impacts = find_node(SchemaType.IMPACTASSESSMENT, {
  'aggregated': 'true',
  'product.name': 'Maize, grain'
})
# only download the first impact to test, but there would be many more
data = download_hestia(impacts[0]['@id'], SchemaType.IMPACTASSESSMENT, data_state='aggregated')
# 'gwp100' here refers to the @id and not the name
emission = find_term_match(data['impacts'], 'gwp100')
print(emission['value'])
(async () => {
  const apiUrl = '<APIUrl>';
  const searchUrl = '<APIUrl>/search';
  const headers = {
    'Content-Type': 'application/json'
  };
  const body = JSON.stringify({
    fields: ['@id'],
    limit: 10,
    query: {
      bool: {
        'must': [
          { match: { '@type': 'Cycle' } },
          { match: { 'emissions.term.name': 'NO3, to groundwater, soil flux' } }
        ]
      }
    }
  });
  const { results: cycles } = await (await fetch(searchUrl, { method: 'POST', headers, body })).json();
  cycles.map(async cycle => {
    const data = await (await fetch(`${apiUrl}/cycles/${cycle['@id']}`, { headers })).json();
    const values = (data.inputs || [])
      .filter(input => input.term.units === 'kg N')
      .flatMap(input => input.value);
    const total = values.reduce((a, b) => a + b, 0);
    console.log(cycle, 'total nitrogen fertilizer', total);
  });
})();
(async () => {
  const apiUrl = '<APIUrl>';
  const searchUrl = '<APIUrl>/search';
  const headers = {
    'Content-Type': 'application/json'
  };
  // searching for aggregated GWP100 emissions on "Maize, grain"
  const body = JSON.stringify({
    fields: ['@id'],
    limit: 10,
    query: {
      bool: {
        'must': [
          { match: { '@type': 'ImpactAssessment' } },
          { match: { 'aggregated': true } },
          { match: { 'product.term': 'Maize, grain' } }
        ]
      }
    }
  });
  const { results: impacts } = await (await fetch(searchUrl, { method: 'POST', headers, body })).json();
  impacts.map(async impact => {
    const url = `${apiUrl}/impactassessments/${impact['@id']}?dataState=aggregated`;
    const data = await (await fetch(url, { headers })).json();
    const value = (data.impacts || []).find(impact => impact.term.name === 'GWP100').value;
    console.log(value);
  });
})();
const axios = require('axios');

(async () => {
  const apiUrl = '<APIUrl>';
  const searchUrl = '<APIUrl>/search';
  const body = {
    fields: ['@id'],
    limit: 10,
    query: {
      bool: {
        'must': [
          { match: { '@type': 'Cycle' } },
          { match: { 'emissions.term.name': 'NO3, to groundwater, soil flux' } }
        ]
      }
    }
  };
  const { data: { results: cycles } } = await axios.post(searchUrl, body);
  cycles.map(async cycle => {
    const { data } = await axios.get(`${apiUrl}/cycles/${cycle['@id']}`);
    const values = (data.inputs || [])
      .filter(input => input.term.units === 'kg N')
      .flatMap(input => input.value);
    const total = values.reduce((a, b) => a + b, 0);
    console.log(cycle, 'total nitrogen fertilizer', total);
  });
})();
const axios = require('axios');

(async () => {
  const apiUrl = '<APIUrl>';
  const searchUrl = '<APIUrl>/search';
  // searching for aggregated GWP100 emissions on "Maize, grain"
  const body = {
    fields: ['@id'],
    limit: 10,
    query: {
      bool: {
        'must': [
          { match: { '@type': 'ImpactAssessment' } },
          { match: { 'aggregated': true } },
          { match: { 'product.term': 'Maize, grain' } }
        ]
      }
    }
  };
  const { data: { results: impacts } } = await axios.post(searchUrl, body);
  impacts.map(async impact => {
    const url = `${apiUrl}/impactassessments/${impact['@id']}?dataState=aggregated`;
    const { data } = await axios.get(url);
    const value = (data.impacts || []).find(impact => impact.term.name === 'GWP100').value;
    console.log(value);
  });
})();
Validate CSV/JSON files

Validate CSV/JSON files

Hestia provides some functions to validate a CSV / JSON / JSON-LD files formatted following the Hestia format.

Validating a CSV file

Validating a CSV file

To validate a CSV file, you will first need to convert it to JSON. This can be done using the Hestia's utils package:

  1. Install NodeJS version 12
  2. Install the utils library globally: npm install --global @hestia-earth/schema-convert
  3. Drop your CSV files into a specific folder then run:
hestia-convert-to-json folder

You will find in the folder the list of CSV files converted to JSON with the .json extension. These files can be then used for validation described below.

Validating the Terms

Validating the Terms

When uploading data on the Hestia platform, you will need to use our Glossary of Terms. You can follow these steps to install a package to validate the terms:

  1. Install NodeJS version 12
  2. Install the utils library globally: npm install --global @hestia-earth/utils
  3. Drop your JSON / JSON-LD files into a specific folder then run:
API_URL=<APIUrl> hestia-validate-terms folder

Errors will appear in the console if any have been found.

Validating the Schema

Validating the Schema

When uploading data on the Hestia platform, you will need to follow our Schema. You can follow these steps to install a package to validate the schema:

  1. Install NodeJS version 12
  2. Install the schema validation library globally: npm install --global @hestia-earth/schema-validation
  3. Drop your JSON / JSON-LD files into a specific folder then run:
hestia-validate-jsonld '' folder

Errors will appear in the console if any have been found.

Validating the Data

Validating the Data

One important step when uploading data on the Hestia platform is making sure the data is consistent using the Data Validation package. You can follow these steps to install a package to validate the data:

  1. Install Python version 3 minimum
  2. Install the data validation library: pip install hestia_earth.validation
  3. Drop your JSON / JSON-LD files into a specific folder then run:
API_URL=<APIUrl> GEE_API_ENABLED=false VALIDATE_EXISTING_NODES=true hestia-validate-data folder

Errors will appear in the console if any have been found.

Hestia Utils

Hestia Utils

The utils library contains useful functions to work with Hestia data.

Pivoting Headers by Terms

Pivoting Headers by Terms

After downloading data as CSV from the Hestia platform, the format will look like this:

site.@id site.measurements.0.term.@id site.measurements.0.value site.measurements.1.term.@id site.measurements.1.value site.measurements.2.term.@id site.measurements.2.value site.dataPrivate
xvflr sandContent 90 siltContent 6 clayContent 4 false
gght sandContent 90 siltContent 6 clayContent 4 false

It is possible to pivot some data based on the term.@id and move them as columns, such as:

site.@id site.measurements.sandContent.value site.measurements.siltContent.value site.measurements.clayContent.value site.dataPrivate
xvflr 90 6 4 false
gght 90 6 4 false
Usage

Usage

  1. Install Python version 3 minimum
  2. Install the data validation library: pip install hestia_earth.utils
  3. Run:
hestia-pivot-csv source.csv dest.csv

The dest.csv file will be pivoted.

Hestia Calculation Models

Hestia Calculation Models

The Calculation Models are a set of modules for creating structured data models from LCA observations and evaluating biogeochemical aspects of specific farming cycles.

Usage

Usage

  1. You will need to use python 3 (we recommend using python 3.6 minimum).
  2. Install the library:
pip install hestia_earth.models
  1. Set the following environment variables:
API_URL="<APIUrl>"
WEB_URL="<WEBUrl>"

Now you can scroll to the model you are interested in and follow the instructions to run them.

Logging

Logging

The models library is shipped with it's own logging which will be displayed in the console by default. If you want to save the logs into a file, please set the LOG_FILENAME environment variable to the path of the file when running the models.

Example with a my_file.py file like:

from hestia_earth.models.pooreNemecek2018 import run

run('no3ToGroundwaterSoilFlux', cycle_data)

You can save the output in the models.log file by running LOG_FILENAME=models.log python my_file.py.

Orchestrator

Orchestrator

Hestia has developed a library to run the models in a specific sequence defined in a configuration file called the Hestia Engine Orchestrator.

Whereas when running a single model you would do:

from hestia_earth.models.pooreNemecek2018 import run

run('no3ToGroundwaterInorganicFertilizer', cycle_data)

You can run a sequence of models by doing instead:

from hestia_earth.orchestrator import run

config = {
  "models": [
    {
      "key": "emissions",
      "model": "pooreNemecek2018",
      "value": "no3ToGroundwaterInorganicFertilizer",
      "runStrategy": "add_blank_node_if_missing"
    },
    {
      "key": "emissions",
      "model": "pooreNemecek2018",
      "value": "no3ToGroundwaterOrganicFertilizer",
      "runStrategy": "add_blank_node_if_missing"
    }
  ]
}

run(cycle_data, config)

More information and examples are available in the Hestia Engine Orchestrator repository.

Agribalyse (2016)

Agribalyse (2016)

These models use data from the Agribalyse (2016) dataset to gap fill average values.

Fuel and Electricity

Fuel and Electricity

This model calculates fuel and electricity data from the number of hours each machine is operated for using.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.agribalyse2016 import run

inputs = run('fuelElectricity', cycle)
print(inputs)

View source on Gitlab

Machinery Usage

Machinery Usage

Machinery gradually depreciates over multiple production Cycles until it reaches the end of its life. As a rough rule, the more the machinery is used, the faster it depreciates. Machinery use can be proxied for by the amount of fuel used. From 139 processes in AGRIBALYSE, the ratio of machinery depreciated per unit of fuel consumed (kg machinery kg diesel–1) was established. Recognizing that farms in less developed countries have poorer access to capital and maintain farm machinery for longer, the machinery-to-diesel ratio was doubled in countries with a Human Development Index of less than 0.8

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.agribalyse2016 import run

inputs = run('machineryInfrastructureDepreciatedAmountPerCycle', cycle)
print(inputs)

View source on Gitlab

Akagi et al (2011) and IPCC (2006)

Akagi et al (2011) and IPCC (2006)

These models calculate the emissions from crop residue burning, using the methodology detailed in the IPCC (2006, Volume 4, Chapter 2, Section 2.4) guidelines and the emissions factors detailed in Akagi et al (2011).

CH4, to air, crop residue burning

CH4, to air, crop residue burning

This model calculates the CH4 emissions from crop residue burning, using the methodology detailed in the IPCC (2006, Volume 4, Chapter 2, Section 2.4) guidelines and the emissions factors detailed in Akagi et al (2011).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.akagiEtAl2011AndIpcc2006 import run

emissions = run('ch4ToAirCropResidueBurning', cycle)
print(emissions)

View source on Gitlab

N2O, to air, crop residue burning, Direct

N2O, to air, crop residue burning, Direct

This model calculates the N2O Direct emissions from crop residue burning, using the methodology detailed in the IPCC (2006, Volume 4, Chapter 2, Section 2.4) guidelines and the emissions factors detailed in Akagi et al (2011).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.akagiEtAl2011AndIpcc2006 import run

emissions = run('n2OToAirCropResidueBurningDirect', cycle)
print(emissions)

View source on Gitlab

NH3, to air, crop residue burning

NH3, to air, crop residue burning

This model calculates the NH3 emissions from crop residue burning, using the methodology detailed in the IPCC (2006, Volume 4, Chapter 2, Section 2.4) guidelines and the emissions factors detailed in Akagi et al (2011).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.akagiEtAl2011AndIpcc2006 import run

emissions = run('nh3ToAirCropResidueBurning', cycle)
print(emissions)

View source on Gitlab

NOx, to air, crop residue burning

NOx, to air, crop residue burning

This model calculates the NH3 emissions from crop residue burning, using the methodology detailed in the IPCC 2006 Guidelines (Volume 4, Chapter 2, Section 2.4) guidelines and the emissions factors detailed in Akagi et al (2011).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.akagiEtAl2011AndIpcc2006 import run

emissions = run('noxToAirCropResidueBurning', cycle)
print(emissions)

View source on Gitlab

AWARE

AWARE

These models are based on the geospatial AWARE model (see UNEP (2016); Boulay et al (2016); Boulay et al (2020); EC-JRC (2017)).

Scarcity weighted water use

Scarcity weighted water use

This model calculates the scarcity weighted water use based on the geospatial AWARE model (see UNEP (2016); Boulay et al (2016); Boulay et al (2020); EC-JRC (2017)).

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Different lookup files are used depending on the situation: - If precise coordinates for the site are given, the factors are in the aware factors lookup. If the site is cropland or permanent pasture, YR_IRRI column is used, otherwise YR_NONIRRI is used. - If precise coordinates for the site are not given, it will default to the region factors in region aware factors lookup. If the site is cropland or permanent pasture, Agg_CF_irri column is used, otherwise Agg_CF_non_irri is used.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.aware import run

print(run('scarcityWeightedWaterUse', impact))

View source on Gitlab

Blonk Consultants (2016)

Blonk Consultants (2016)

These models calculate the land transformation and emissions related to land use change, using the Blonk Consultants (2016) direct land use change assessment model.

CH4, to air, natural vegetation burning

CH4, to air, natural vegetation burning

This model calculates the methane emissions to air, from natural vegetation burning during deforestation or other land conversion, using the Blonk Consultants (2016) direct land use change assessment model.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.blonkConsultants2016 import run

emissions = run('ch4ToAirNaturalVegetationBurning', cycle)
print(emissions)

View source on Gitlab

CO2, to air, soil carbon stock change

CO2, to air, soil carbon stock change

This model calculates the carbon dioxide emissions to air from biomass and soil carbon stock change, using the Blonk Consultants (2016) direct land use change assessment model.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.blonkConsultants2016 import run

emissions = run('co2ToAirSoilCarbonStockChange', cycle)
print(emissions)

View source on Gitlab

Land transformation, from forest, 20 year average

Land transformation, from forest, 20 year average

This model calculates the amount of land converted during the last 20 years, using the Blonk Consultants (2016) direct land use change assessment model.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.blonkConsultants2016 import run

print(run('landTransformationFromForest20YearAverage', impact))

View source on Gitlab

N2O, to air, natural vegetation burning, direct

N2O, to air, natural vegetation burning, direct

This model calculates the direct nitrous oxide emissions to air, from natural vegetation burning during deforestation or other land conversion, using the Blonk Consultants (2016) direct land use change assessment model.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.blonkConsultants2016 import run

emissions = run('n2OToAirNaturalVegetationBurningDirect', cycle)
print(emissions)

View source on Gitlab

Chaudhary et al (2015)

Chaudhary et al (2015)

This model calculates the biodiversity impacts related to habitat loss as defined in Chaudhary et al (2015, Environ. Sci. Technol. 49, 16, 9987–9995).

Biodiversity loss, land occupation

Biodiversity loss, land occupation

This model calculates the potential loss of global species due to land occupation.

Returns

Returns

Requirements

Requirements

Note: if the cycle.functionalUnit = 1 ha, additional properties are required: - a cycleDuration (defaults to 365) - a site with: - a list of measurements with: - term = fallowCorrection - a primary Product with: - a value > 0 - an economicValueShare > 0

Characterisation factors used

Characterisation factors used

Different lookup files are used depending on the situation: - If precise coordinates for the site are given, the factors are in the ecoregion factors lookup - If precise coordinates for the site are not given, it will default to the region factors in region ecoregion factors lookup

Depending on the type of crop or land, different colunns will be used. They are all suffixed by TAXA_AGGREGATED_Median_occupation.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.chaudharyEtAl2015 import run

print(run('biodiversityLossLandOccupation', impact))

View source on Gitlab

Biodiversity loss, land transformation

Biodiversity loss, land transformation

This model calculates the potential loss of global species due to land transformation.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Different lookup files are used depending on the situation: - If precise coordinates for the site are given, the factors are in the ecoregion factors lookup - If precise coordinates for the site are not given, it will default to the region factors in region ecoregion factors lookup

Depending on the type of crop or land, different colunns will be used. They are all suffixed by TAXA_AGGREGATED_Median_transformation.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.chaudharyEtAl2015 import run

print(run('biodiversityLossLandTransformation', impact))

View source on Gitlab

Biodiversity loss, total land use effects

Biodiversity loss, total land use effects

This model calculates the potential loss of global species due to land use (occupation and transformation) by summing biodiversityLossLandOccupation and biodiversityLossLandTransformation.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.chaudharyEtAl2015 import run

print(run('biodiversityLossTotalLandUseEffects', impact))

View source on Gitlab

CML 2001 Non-Baseline

CML 2001 Non-Baseline

These models characterise emissions and resource use according to the CML2001 Non-Baseline method.

Eutrophication potential, excluding fate

Eutrophication potential, excluding fate

This model calculates the potential of nutrient emissions to cause excessive growth of aquatic plants and algae in aquatic ecosystems, excluding an estimated fate of these emissions in Europe, using the characterisation factor in the CML2001 Non-Baseline method.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column po4-EqEutrophicationExcludingFateCml2001Baseline.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cml2001NonBaseline import run

print(run('eutrophicationPotentialExcludingFate', impact))

View source on Gitlab

Eutrophication potential, including fate, average Europe

Eutrophication potential, including fate, average Europe

This model calculates the potential of nutrient emissions to cause excessive growth of aquatic plants and algae in aquatic ecosystems, including an estimated fate of these emissions in Europe, using the characterisation factor in the CML2001 Non-Baseline method.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column noxeqEutrophicationIncludingFateAverageEuropeCml2001Non-Baseline.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cml2001NonBaseline import run

print(run('eutrophicationPotentialIncludingFateAverageEurope', impact))

View source on Gitlab

Terrestrial acidification potential, excluding fate

Terrestrial acidification potential, excluding fate

This model calculates the changes in soil chemical properties following the deposition of nitrogen and sulfur in acidifying forms, excluding average fate of the emissions in Europe, using the characterisation factor in the CML2001 Non-Baseline method.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column so2EqTerrestrialAcidificationExcludingFateCml2001Non-Baseline.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cml2001NonBaseline import run

print(run('terrestrialAcidificationPotentialExcludingFate', impact))

View source on Gitlab

Terrestrial acidification potential, including fate, average Europe

Terrestrial acidification potential, including fate, average Europe

This model calculates the changes in soil chemical properties following the deposition of nitrogen and sulfur in acidifying forms, including average fate of the emissions in Europe, using the characterisation factor in the CML2001 Non-Baseline method.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column so2EqTerrestrialAcidificationIncludingFateAverageEuropeCml2001Baseline.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cml2001NonBaseline import run

print(run('terrestrialAcidificationPotentialIncludingFateAverageEurope', impact))

View source on Gitlab

Cycle

Cycle

These models are specific to Cycle.

Above ground crop residue, total

Above ground crop residue, total

This model calculates the total amount of above ground crop residue based on the removed value and its total share.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

products = run('aboveGroundCropResidueTotal', cycle)
print(products)

View source on Gitlab

Cycle duration

Cycle duration

This model calculates the cycle duration using the cropping intensity for a single year.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

print(run('cycleDuration', cycle))

View source on Gitlab

Data Completeness

Data Completeness

The Data Completeness blank node in Cycle specifies how complete the Inputs and Products data are. This model updates the data completeness according to specific rules per key.

Animal feed

Animal feed

This model checks if the site is a cropland and updates the Data Completeness value.

Requirements
Requirements
Crop Residue

Crop Residue

This model checks if we have all the crop residue terms and updates the Data Completeness value.

Requirements
Requirements
Excreta management

Excreta management

This model checks if the site is a cropland and updates the Data Completeness value.

Requirements
Requirements
Material

Material

This model checks if the machinery Input has been added and updates the Data Completeness value.

Requirements
Requirements
Other

Other

This model checks if the seed Input has been added and updates the Data Completeness value.

Requirements
Requirements
Soil Amendments

Soil Amendments

This model checks if the soilPh from geospatial dataset is greater than 6.5 and updates the Data Completeness value.

Requirements
Requirements
Returns

Returns

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

data = run('dataCompleteness', cycle)
print(data)

View source on Gitlab

Feed Conversion Ratio

Feed Conversion Ratio

This model returns the following Practices:

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

practices = run('feedConversionRatio', cycle)
print(practices)

View source on Gitlab

World / Country Average

World / Country Average

This model adds impactAssessment to Input based on World averages uploaded on Hestia. Note: to get more accurate impacts, we recommend setting the input.impactAssessment instead of using World or Country averages using this model.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

inputs = run('input.aggregated', cycle)
print(inputs)

View source on Gitlab

ecoinvent v3

ecoinvent v3

This model calculates background emissions related to the production of Inputs from the ecoinvent database, version 3.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

emissions = run('input.ecoinventV3', cycle)
print(emissions)

View source on Gitlab

Input Value

Input Value

This model calculates the value of the Input by taking an average from the min and max values.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

print(run('input.value', cycle))

View source on Gitlab

Irrigated

Irrigated

This model returns the Practice irrigated. Cycles are marked as irrigated if the sum of the irrigation Inputs is greater than 25mm per hectare (250m3 per hectare).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

practice = run('irrigated', cycle)
print(practice)

View source on Gitlab

Live Animal

Live Animal

This model calculates the amount of live animal produced during a Cycle, based on the amount of animal product.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.faostat2018 import run

inputs = run('liveAnimal', cycle)
print(inputs)

View source on Gitlab

Cycle Post Checks

Cycle Post Checks

List of models to run after any other model on an Cycle.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import primary
from hestia_earth.models.cycle import post_checks

product = primary.run(cycle)
cycle = post_checks.run(cycle)
print(cycle)
Site

Site

This model is run only if the pre model has been run before. This model will restore the cycle.site as a "linked node" (i.e. it will be set with only @type, @id and name keys).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle.post_checks.site import run

print(run(cycle))

View source on Gitlab

Cycle Pre Checks

Cycle Pre Checks

List of models to run before any other model on an Cycle.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import primary
from hestia_earth.models.cycle import pre_checks

cycle = pre_checks.run(cycle)
product = primary.run(cycle)
print(product)
Site

Site

Some Cycle models need a full version of the linked Site to run. This model will fetch the complete version of the Site and include it.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle.pre_checks.site import run

print(run(cycle))

View source on Gitlab

Start Date

Start Date

This model calculates the startDate from the endDate and cycleDuration.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle.pre_checks.startDate import run

print(run(cycle))

View source on Gitlab

Product Economic Value Share

Product Economic Value Share

This model quantifies the relative economic value share of each marketable Product in a Cycle. Marketable Products are all Products in the Glossary with the exception of crop residue not sold.

It works in the following order: 1. If revenue data are provided for all marketable products, the economicValueShare is directly calculated as the share of revenue of each Product; 2. If the primary product is a crop and it is the only crop Product, economicValueShare is assigned based on a lookup table containing typical global average economic value shares drawn from Poore & Nemecek (2018).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

print(run('product.economicValueShare', cycle))

View source on Gitlab

Product Price

Product Price

TODO

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

print(run('product.price', cycle))

View source on Gitlab

Product Primary

Product Primary

TODO

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

print(run('product.primary', cycle))

View source on Gitlab

Product Revenue

Product Revenue

This model calculates the revenue of each product by multiplying the yield with the revenue. In the case the product value is 0, the revenue will be set to 0.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

print(run('product.revenue', cycle))

View source on Gitlab

Product Value

Product Value

This model calculates the value of the Product by taking an average from the min and max values.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

print(run('product.value', cycle))

View source on Gitlab

Site duration

Site duration

This model calculates the siteDuration on the Cycle to the same value as cycleDuration when only a single Site is present.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle import run

print(run('siteDuration', cycle))

View source on Gitlab

Transformations

Transformations

This model will merge every Emission from the Transformation back in the Cycle.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.cycle.post_checks.transformations import run

print(run(cycle))

View source on Gitlab

Dämmgen (2009)

Dämmgen (2009)

These models calculate direct and indirect greenhouse gas emissions from the German GHG inventory guidelines, Dämmgen (2009).

NOx, to air, excreta

NOx, to air, excreta

This model calculates the NOX emissions to air from manure management due to the nitrogen contained in excreta. It uses the Tier 2 factors from the German GHG inventory guidelines Dämmgen et al. (2009) Table 5.4.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.dammgen2009 import run

emissions = run('noxToAirExcreta', cycle)
print(emissions)

View source on Gitlab

de Ruijter et al (2010)

de Ruijter et al (2010)

These models calculate the emissions due to crop residue decomposition using the regression model in de Ruijter et al (2010).

NH3, to air, crop residue decomposition

NH3, to air, crop residue decomposition

This model calculates the NH3 emissions due to crop residue decomposition using the regression model in de Ruijter et al (2010).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.deRuijterEtAl2010 import run

emissions = run('nh3ToAirCropResidueDecomposition', cycle)
print(emissions)

View source on Gitlab

EMEA-EEA (2019)

EMEA-EEA (2019)

These models implements the methods in the EMEP-EEA Handbook (2019) Part B, Chapter 1.A.4, page 22.

CO2, to air, fuel combustion

CO2, to air, fuel combustion

This model calculates the CO2 emissions from fuel combustion in engines (excluding the emission related to producing or extracting the fuel), using the emissions factors in the EMEP-EEA Handbook (2019) Part B, Chapter 1.A.4, page 22.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.emeaEea2019 import run

emissions = run('co2ToAirFuelCombustion', cycle)
print(emissions)

View source on Gitlab

N2O, to air, fuel combustion, direct

N2O, to air, fuel combustion, direct

This model calculates the N2O emissions from fuel combustion in engines (excluding the emission related to producing or extracting the fuel), using the emissions factors in the EMEP-EEA Handbook (2019) Part B, Chapter 1.A.4, page 22.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.emeaEea2019 import run

emissions = run('n2OToAirFuelCombustionDirect', cycle)
print(emissions)

View source on Gitlab

NH3, to air, excreta

NH3, to air, excreta

This model calculates the NH3 emissions to air from manure management due to the ammonia contained in excreta. It uses the model with Tier 2 factors described in the EEA (2019) Chapter 3.B guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('nh3ToAirExcreta', cycle)
print(emissions)

View source on Gitlab

NH3, to air, inorganic fertilizer

NH3, to air, inorganic fertilizer

This model calculates NH3 emissions from inorganic fertilizer application following the methodology in the EEA (2019, Chapter 4, Section 3.D) guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.emeaEea2019 import run

emissions = run('nh3ToAirInorganicFertilizer', cycle)
print(emissions)

View source on Gitlab

NOX, to air, fuel combustion

NOX, to air, fuel combustion

This model calculates the SO2 emissions from fuel combustion in engines (excluding the emission related to producing or extracting the fuel), using the emissions factors in the EMEP-EEA Handbook (2019, Part B, Chapter 1.A.4, page 22).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.emeaEea2019 import run

emissions = run('noxToAirFuelCombustion', cycle)
print(emissions)

View source on Gitlab

SO2, to air, fuel combustion

SO2, to air, fuel combustion

This model calculates the SO2 emissions from fuel combustion in engines (excluding the emission related to producing or extracting the fuel), using the emissions factors in the EMEP-EEA Handbook (2019) Part B, Chapter 1.A.4, page 22.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.emeaEea2019 import run

emissions = run('so2ToAirFuelCombustion', cycle)
print(emissions)

View source on Gitlab

EPA (2014)

EPA (2014)

These models calculate direct and indirect greenhouse gas emissions using the methodology detailed in the EPA (2014), Anexx 3 guidelines.

NO3, to groundwater, excreta

NO3, to groundwater, excreta

This model calculates the NO3 emissions to groundwater from manure management due to the nitrogen contained in excreta. It uses a ratio of the Tier 2 factors from the EPA (2014), Anexx 3, p. 280, Table A-211 guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('no3ToGroundwaterExcreta', cycle)
print(emissions)

View source on Gitlab

FAOSTAT (2018)

FAOSTAT (2018)

These models uses data from the FAOSTAT database (accessed 2018) to calculate values like seed based on crop yield.

Carcass weight per head

Carcass weight per head

This model calculates the carcass weight of the animals per head using a default table of averages per country and per animal from FAOSTAT.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.faostat2018 import run

practices = run('carcassWeightPerHead', cycle)
print(practices)

View source on Gitlab

Dressed carcass weight per head

Dressed carcass weight per head

This model calculates the dressed carcass weight of the animals per head using a default table of averages per country and per animal from FAOSTAT.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.faostat2018 import run

practices = run('dressedCarcassWeightPerHead', cycle)
print(practices)

View source on Gitlab

Liveweight per head

Liveweight per head

This model calculates the liveweight of the animals per head using a default table of averages per country and per animal from FAOSTAT.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.faostat2018 import run

practices = run('liveweightPerHead', cycle)
print(practices)

View source on Gitlab

Ready-to-cook weight per head

Ready-to-cook weight per head

This model calculates the ready-to-cook weight of the animals per head using a default table of averages per country and per animal from FAOSTAT.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.faostat2018 import run

practices = run('readyToCookWeightPerHead', cycle)
print(practices)

View source on Gitlab

Seed

Seed

This model estimates the amount of seed applied as an Input. It uses the global average seed application rate per unit of crop yield from the FAOSTAT food balance sheets. Standard deviation is a production weighted standard deviation across countries.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.faostat2018 import run

inputs = run('seed', cycle)
print(inputs)

View source on Gitlab

Global Crop Water Model (2008)

Global Crop Water Model (2008)

This model adds rooting depths based on the Global Crop Water Model (Siebert and Doll, 2008).

Rooting Depth

Rooting Depth

This model estimates the rootingDepth of the crop, and adds it as a Property to the crop. It uses rooting depths from the Global Crop Water Model that differentiate between irrigated and rainfed systems. If no information is provided on whether the crop is irrigated or not, an average rooting depth estiamte is used. If total irrigation (sum of all irrigation applied) is >= 250m3 per hectare then the rooting depth values for irrigated cycles are used, if < 250m3 per hectare then rooting depth estimates for rainfed systems are returned.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.globalCropWaterModel2008 import run

products = run('rootingDepth', cycle)
print(products)

View source on Gitlab

Impact Assessment

Impact Assessment

These models are specific to Impact Assessment.

Emissions

Emissions

Creates an Indicator for every Emission contained within the ImpactAssesment.cycle. It does this by dividing the Emission amount by the Product amount, and applying an allocation between co-products.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.impact_assessment import run

print(run('emissions', impact))

View source on Gitlab

Freshwater withdrawals

Freshwater withdrawals

This model calculates the fresh surface and groundwater based on the geospatial AWARE model (see UNEP (2016); Boulay et al (2016); Boulay et al (2020); EC-JRC (2017)).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.impact_assessment import run

print(run('freshwaterWithdrawals', impact))

View source on Gitlab

Irrigated

Irrigated

Detects if the Cycle was irrigated.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.impact_assessment import run

print(run('irrigated', impact))

View source on Gitlab

Organic

Organic

Detects if the Cycle has an organic label.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.impact_assessment import run

print(run('organic', impact))

View source on Gitlab

Impact Assessment Post Checks

Impact Assessment Post Checks

List of models to run after any other model on an ImpactAssessment.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.impact_assessment import irrigated
from hestia_earth.models.impact_assessment import post_checks

impact['irrigated'] = irrigated.run(impact)
impact = post_checks.run(impact)
print(impact)
Cycle

Cycle

This model is run only if the pre model has been run before. This model will restore the impactAssessment.cycle as a "linked node" (i.e. it will be set with only @type, @id and name keys).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.impact_assessment.post_checks.cycle import run

print(run(impact))

View source on Gitlab

Site

Site

This model is run only if the pre model has been run before. This model will restore the impactAssessment.site as a "linked node" (i.e. it will be set with only @type, @id and name keys).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.impact_assessment.post_checks.site import run

print(run(impact))

View source on Gitlab

Impact Assessment Pre Checks

Impact Assessment Pre Checks

List of models to run before any other model on an ImpactAssessment.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.impact_assessment import irrigated
from hestia_earth.models.impact_assessment import pre_checks

impact = pre_checks.run(impact)
impact['irrigated'] = irrigated.run(impact)
print(impact)
Cycle

Cycle

Some ImpactAssessment models need a full version of the linked Cycle to run. This model will fetch the complete version of the Cycle and include it.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.impact_assessment.pre_checks.cycle import run

print(run(impact))

View source on Gitlab

Site

Site

Some ImpactAssessment models need a full version of the linked Site to run. This model will fetch the complete version of the Site and include it.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.impact_assessment.pre_checks.site import run

print(run(impact))

View source on Gitlab

Primary Product

Primary Product

The product of an ImpactAssessment is the primary product of the Cycle.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.impact_assessment import run

print(run('product', impact))

View source on Gitlab

IPCC (2006)

IPCC (2006)

These models calculates direct and indirect greenhouse gas emissions, or uses lookup tables, based on the methodology detailed in the IPCC (2006) guidelines, primarily found in Volume 4, Chapters 10 and 11.

Above ground crop residue, removed

Above ground crop residue, removed

TODO

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2006 import run

products = run('aboveGroundCropResidueRemoved', cycle)
print(products)

View source on Gitlab

Above ground crop residue, total

Above ground crop residue, total

This model estimates the total amount of above ground crop residue using the IPCC (2006) linear regression based methodology, based on crop type and crop yield.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2006 import run

products = run('aboveGroundCropResidueTotal', cycle)
print(products)

View source on Gitlab

Below ground crop residue

Below ground crop residue

This model estimates the amount of below ground crop residue using the IPCC (2006) linear regression based methodology, based on crop type and crop yield.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2006 import run

products = run('belowGroundCropResidue', cycle)
print(products)

View source on Gitlab

CO2, to air, organic soil cultivation

CO2, to air, organic soil cultivation

These models calculates cultivation organic soil emissions detailed in the IPCC (2006) guidelines, found in Volume 5, section 5.2.3.2. IPCC (2006, Chapter 5, Section 5.2.3.2).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2006 import run

emissions = run('co2ToAirOrganicSoilCultivation', cycle)
print(emisssions)

View source on Gitlab

N2O, to air, crop residue decomposition, indirect

N2O, to air, crop residue decomposition, indirect

This model calculates the indirect N2O emissions related to the redeposition of NOx and NH3, and nitrification and denitrification of NO3 using the Tier 1 methodology detailed in the IPCC (2006 Volume 4, Chapter 11, Section 11.2) guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2006 import run

products = run('n2OToAirCropResidueDecompositionIndirect', cycle)
print(products)

View source on Gitlab

N2O, to air, excreta, direct

N2O, to air, excreta, direct

This model calculates the direct N2O emissions from organic and inorganic fertilizer and excreta deposited directly on pasture, using the Tier 1 methodology detailed in the IPCC 2006 Guidelines (Volume 4, Chapter 11, Section 11.2).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:

from hestia_earth.models.ipcc2006 import run

emissions = run('n2OToAirExcretaDirect', cycle)
print(emissions)

View source on Gitlab

N2O, to air, excreta, indirect

N2O, to air, excreta, indirect

This model calculates the indirect N2O emissions related to the redeposition of NOx and NH3, and nitrification and denitrification of NO3 using the Tier 1 methodology detailed in the IPCC (2006 Volume 4, Chapter 11, Section 11.2) guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2006 import run

products = run('n2OToAirExcretaIndirect', cycle)
print(products)

View source on Gitlab

N2O, to air, inorganic fertilizer, direct

N2O, to air, inorganic fertilizer, direct

This model calculates the direct N2O emissions from organic and inorganic fertilizer and excreta deposited directly on pasture, using the Tier 1 methodology detailed in the IPCC 2006 Guidelines (Volume 4, Chapter 11, Section 11.2).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:

from hestia_earth.models.ipcc2006 import run

emissions = run('n2OToAirInorganicFertilizerDirect', cycle)
print(emissions)

View source on Gitlab

N2O, to air, inorganic fertilizer, indirect

N2O, to air, inorganic fertilizer, indirect

This model calculates the indirect N2O emissions related to the redeposition of NOx and NH3, and nitrification and denitrification of NO3 using the Tier 1 methodology detailed in the IPCC (2006 Volume 4, Chapter 11, Section 11.2) guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2006 import run

products = run('n2OToAirInorganicFertilizerIndirect', cycle)
print(products)

View source on Gitlab

N2O, to air, organic fertilizer, direct

N2O, to air, organic fertilizer, direct

This model calculates the direct N2O emissions from organic and inorganic fertilizer and excreta deposited directly on pasture, using the Tier 1 methodology detailed in the IPCC 2006 Guidelines (Volume 4, Chapter 11, Section 11.2).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:

from hestia_earth.models.ipcc2006 import run

emissions = run('n2OToAirOrganicFertilizerDirect', cycle)
print(emissions)

View source on Gitlab

N2O, to air, organic fertilizer, indirect

N2O, to air, organic fertilizer, indirect

This model calculates the indirect N2O emissions related to the redeposition of NOx and NH3, and nitrification and denitrification of NO3 using the Tier 1 methodology detailed in the IPCC (2006 Volume 4, Chapter 11, Section 11.2) guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2006 import run

products = run('n2OToAirOrganicFertilizerIndirect', cycle)
print(products)

View source on Gitlab

N2O, to air, organic soil cultivation, direct

N2O, to air, organic soil cultivation, direct

These models calculates cultivation organic soil emissions detailed in the IPCC (2006) guidelines, found in Volume 5, section 5.2.3.2. IPCC (2006, Chapter 5, Section 5.2.3.2)

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2006 import run

products = run('n2OToAirOrganicSoilCultivationDirect', cycle)
print(products)

View source on Gitlab

IPCC (2013) excluding feedbacks

IPCC (2013) excluding feedbacks

These models characterise different greenhouse gases into a global warming or global temperature potential, following the IPCC (2013) guidelines. Conversions from each gas to CO2 equivalents exclude climate carbon feedbacks. Climate carbon feedbacks were not included in the IPCC (2007) or earlier guidelines, and were first provided in the IPCC (2013) Table 8.7.

GWP100

GWP100

This model calculates the global warming potential of mixed greenhouse gases on the mid-term climate (100 years), expressed as CO2 equivalents excluding climate carbon feedbacks, using IPCC (2013) Table 8.7 factors. i.e. CH4 = 28x CO2; N2O = 265x CO2.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column co2EqGwp100ExcludingClimate-CarbonFeedbacksIpcc2013.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2013ExcludingFeedbacks import run

print(run('gwp100', impact))

View source on Gitlab

IPCC (2013) including feedbacks

IPCC (2013) including feedbacks

These models characterise different greenhouse gases into a global warming or global temperature potential, following the IPCC (2013) guidelines. Conversions from each gas to CO2 equivalents include climate carbon feedbacks. Climate carbon feedbacks were not included in the IPCC (2007) or earlier guidelines, and were first provided in the IPCC (2013) Table 8.7.

GWP100

GWP100

This model calculates the global warming potential of mixed greenhouse gases on the mid-term climate (100 years), expressed as CO2 equivalents including climate carbon feedbacks, using IPCC (2013) Table 8.7 factors. i.e. CH4 = 28x CO2; N2O = 265x CO2.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column co2EqGwp100IncludingClimate-CarbonFeedbacksIpcc2013.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2013IncludingFeedbacks import run

print(run('gwp100', impact))

View source on Gitlab

IPCC (2019)

IPCC (2019)

These models calculates direct and indirect greenhouse gas emissions using the methodology detailed in the IPCC 2019 Volume 4 Chapter 10 and 11

Above ground crop residue, total

Above ground crop residue, total

This model calculates the above ground crop residue based on a linear relationship between crop yield and above ground crop residue without using a constant term, as detailed in Table 11.1a in IPCC 2019 Volume 4 Chapter 11.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2019 import run

products = run('aboveGroundCropResidueTotal', cycle)
print(products)

View source on Gitlab

Below ground crop residue

Below ground crop residue

This model calculates the below ground crop residue based on a linear relationship between above ground and below ground crop residue, as detailed in Table 11.1a in IPCC 2019 Volume 4 Chapter 11. Because a constant term is not used, it is more suitable for situations like intercropping where multiple crops are grown at the same time and place.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2019 import run

products = run('belowGroundCropResidue', cycle)
print(products)

View source on Gitlab

CH4, to air, enteric fermentation

CH4, to air, enteric fermentation

This model calculates the CH4 emissions based on energy intake in feed. It uses the Tier 2 factors from the IPCC 2019 Volume 4 Chapter 10 guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2019 import run
emissions = run('ch4ToAirEntericFermentation', cycle)
print(emissions)

View source on Gitlab

CH4, to air, excreta

CH4, to air, excreta

This model calculates the CH4 emissions to air from manure management due to excreta volatile solids. It uses the Tier 2 factors from the IPCC 2019 Volume 4 Chapter 10 guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('ch4ToAirExcreta', cycle)
print(emissions)

View source on Gitlab

CH4, to air, flooded rice

CH4, to air, flooded rice

This model calculates the methane emissions to air from flooded paddy rice fields. It uses the Tier 1 factors from the IPCC 2019 Volume 4 Chapter 10 guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2019 import run
emissions = run('ch4ToAirFloodedRice', cycle)
print(emissions)

View source on Gitlab

CO2, to air, lime, hydrolysis

CO2, to air, lime, hydrolysis

This model calculates the CO2 emissions due to the additions of liming materials. It uses the Tier 1 factors from the IPCC 2019 Volume 4 Chapter 11 Table 11.1A guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2019 import run

products = run('co2ToAirLimeHydrolysis', cycle)
print(products)

View source on Gitlab

CO2, to air, urea, hydrolysis

CO2, to air, urea, hydrolysis

This model calculates the CO2 emissions due to the additions of urea-containing fertiliser. It uses the Tier 1 factors from the IPCC 2019 Volume 4 Chapter 11 Table 11.1A guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2019 import run

products = run('co2ToAirUreaHydrolysis', cycle)
print(products)

View source on Gitlab

Cropping duration

Cropping duration

This model calculates the period from planting to harvest in days. It uses the Tier 1 factors from the IPCC 2019 Volume 4 Chapter 10 guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2019 import run
emissions = run('croppingDuration', cycle)
print(emissions)

View source on Gitlab

N2O, to air, excreta, direct

N2O, to air, excreta, direct

This model calculates the N2O emissions to air from manure management due to the nitrogen contained in excreta. It uses the Tier 2 factors from the IPCC 2019 Volume 4 Chapter 10 guidelines.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('n2OToAirExcretaDirect', cycle)
print(emissions)

View source on Gitlab

Nitrogen Content

Nitrogen Content

This model adds an average nitrogenContent of the crop, and adds it as a Property to the Above Ground Crop Residue Total and Below Ground Crop Residue products. It uses values from IPCC 2019 Volume 4 Chapter 11 Table 11.1A.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.ipcc2019 import run

products = run('nitrogenContent', cycle)
print(products)

View source on Gitlab

Köble (2014)

Köble (2014)

These models estimate the amount of crop residue burnt and removed using country average factors for different crop groupings based on Köble (2014).

Above Ground Crop Residue

Above Ground Crop Residue

This model returns the amounts and destinations of above ground crop residue, working in the following order: 1. Above ground crop residue, removed; 2. Above ground crop residue, incorporated; 3. Above ground crop residue, burnt; 4. Above ground crop residue, left on field.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.koble2014 import run

products = run('aboveGroundCropResidue', cycle)
print(products)

View source on Gitlab

Residue

Residue

This model returns the Practices which describe how above ground crop residue is managed, by assigning default percentages to each Practice using country and crop averages. If any data are provided by the user, they are used first.

This model estimates how much of crop residue is burnt/removed using country and crop specific factors from Köble (2014).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.koble2014 import run

practices = run('residue', cycle)
print(practices)

View source on Gitlab

Other background database

Other background database

These models calculate background emissions related to the production of Inputs from a background database not included in the Hestia glossary.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.otherBackgroundDatabase import run

emissions = run('all', cycle)
print(emissions)
Poore Nemecek (2018)

Poore Nemecek (2018)

These models implements the models described in the supporting material of Poore & Nemecek (2018).

Above ground crop residue, total

Above ground crop residue, total

This model estimates the total amount of above ground crop residue using data from Poore & Nemecek (2018), which is based on a range of sources.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

products = run('aboveGroundCropResidueTotal', cycle)
print(products)

View source on Gitlab

Below ground crop residue

Below ground crop residue

This model estimates the total amount of below ground crop residue using data from Poore & Nemecek (2018), which is based on a range of sources.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

products = run('belowGroundCropResidue', cycle)
print(products)

View source on Gitlab

CH4, to air, aquaculture ponds

CH4, to air, aquaculture ponds

This model calculates the methane emissions to air from the methanogenesis of organic carbon in excreta, unconsumed feed, fertilizer, and net primary production as described in Poore & Nemecek (2018).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('ch4ToAirAquaculturePonds', cycle)
print(emissions)

View source on Gitlab

Excreta (kg N)

Excreta (kg N)

This model uses a mass balance to calculate the total amount of excreta (as N) created by animals. The inputs into the mass balance are the total amount of feed and the total amount of net primary production in the water body. The outputs of the mass balance are the weight of the animal and the excreta. The formula is excreta = feed + NPP - animal. If the mass balance fails (i.e. animal feed is not complete, see requirements below) for live aquatic species, the fomula is = total nitrogen content of the fish * 3.31. It is described in Poore & Nemecek (2018).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

products = run('excretaKgN', cycle)
print(products)

View source on Gitlab

Excreta (kg VS)

Excreta (kg VS)

This model calculates the Excreta (kg VS) from the products as described in Poore & Nemecek (2018). The model computes it as the balance between the carbon in the inputs plus the carbon produced in the pond minus the carbon contained in the primary product. If the mass balance fails (i.e. animal feed is not complete, see requirements below), the fomula is = total excreta as N / Volatile solids content.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

products = run('excretaKgVs', cycle)
print(products)

View source on Gitlab

Flowing Water

Flowing Water

This model returns a measurement of fast flowing water or slow flowing water depending on the type of the site.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

print(run('flowingWater', site))

View source on Gitlab

Land Occupation

Land Occupation

This model calculates the amount of land required to produce the Product, multiplied by the time (in years) that the land was used, using the model described in Poore & Nemecek (2018). It also accounts for the amount of land required to produce the Inputs used.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

print(run('landOccupation', impact))

View source on Gitlab

Long Fallow Period

Long Fallow Period

This model returns the period (in days) which lasts more than one year, but less than five years in a cropping rotation. It uses the crop specific average values derived from a variety sources, detailed in Poore & Nemecek, 2018.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

practices = run('longFallowPeriod', cycle)
print(practices)

View source on Gitlab

N2O, to air, aquaculture ponds, direct

N2O, to air, aquaculture ponds, direct

This model calculates the aquaculture N2O emissions from the excretion of fish and crustaceans into water bodies Poore & Nemecek (2018). It applies to river or stream, lake and sea or ocean.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('n2OToAirAquaculturePondsDirect', cycle)
print(emissions)

View source on Gitlab

N2, to air, aquaculture ponds

N2, to air, aquaculture ponds

This model calculates the aquaculture N2 emissions from the excretion of fish and crustaceans into water bodies Poore & Nemecek (2018). It applies to river or stream, lake and sea or ocean.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('n2ToAirAquaculturePonds', cycle)
print(emissions)

View source on Gitlab

Net Primary Production

Net Primary Production

This model calculates the quantity of organic compounds produced from atmospheric or aqueous carbon dioxide of a site.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

measurements = run('netPrimaryProduction', site)
print(measurements)

View source on Gitlab

NH3, to air, aquaculture ponds, direct

NH3, to air, aquaculture ponds, direct

This model calculates the ammonia emissions to air, created from the breakdown of excreta and unconsumed feed in aquaculture ponds as described in Poore & Nemecek (2018). It applies to river or stream, lake and sea or ocean.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('nh3ToAirAquaculturePonds', cycle)
print(emissions)

View source on Gitlab

NO3, to groundwater, crop residue decomposition

NO3, to groundwater, crop residue decomposition

This model calculates the NO3 emissions from leaching due to the decomposition of crop residue using the model described in Poore & Nemecek (2018). It applies to cropland only. It calculates the effect of nitrogen inputs only, and excludes background leaching (e.g. due to precipitation).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('no3ToGroundwaterCropResidueDecomposition', cycle)
print(emissions)

View source on Gitlab

NO3, to groundwater, excreta

NO3, to groundwater, excreta

This model calculates the NO3 emissions from leaching using the model described in Poore & Nemecek (2018). It applies to cropland only. It calculates the effect of nitrogen inputs only, and excludes background leaching (e.g. due to precipitation).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('no3ToGroundwaterExcreta', cycle)
print(emissions)

View source on Gitlab

NO3, to groundwater, inorganic fertilizer

NO3, to groundwater, inorganic fertilizer

This model calculates the NO3 emissions from leaching due to the application of inorganic fertilizer using the model described in Poore & Nemecek (2018). It applies to cropland only. It calculates the effect of nitrogen inputs only, and excludes background leaching (e.g. due to precipitation).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('no3ToGroundwaterInorganicFertilizer', cycle)
print(emissions)

View source on Gitlab

NO3, to groundwater, organic fertilizer

NO3, to groundwater, organic fertilizer

This model calculates the NO3 emissions from leaching due to the application of organic fertilizer using the model described in Poore & Nemecek (2018). It applies to cropland only. It calculates the effect of nitrogen inputs only, and excludes background leaching (e.g. due to precipitation).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('no3ToGroundwaterOrganicFertilizer', cycle)
print(emissions)

View source on Gitlab

NO3, to groundwater, soil flux

NO3, to groundwater, soil flux

This model calculates the NO3 emissions from leaching due to the application of organic and inorganic fertilizer and the decomposition of crop residue using the model described in Poore & Nemecek (2018). It applies to cropland only. It calculates the effect of nitrogen inputs only, and excludes background leaching (e.g. due to precipitation).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('no3ToGroundwaterSoilFlux', cycle)
print(emissions)

View source on Gitlab

NOx, to air, aquaculture ponds

NOx, to air, aquaculture ponds

This model calculates the aquaculture NOX emissions from the excretion of fish and crustaceans into water bodies Poore & Nemecek (2018). It applies to river or stream, lake and sea or ocean.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

emissions = run('noxToAirAquaculturePonds', cycle)
print(emissions)

View source on Gitlab

Nursery duration

Nursery duration

This model returns the length (in days) from the time from planting seedlings to the sale of marketable trees. It uses the crop specific average values derived from a variety sources, detailed in Poore & Nemecek, 2018.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

practices = run('nurseryDuration', cycle)
print(practices)

View source on Gitlab

Orchard Bearing duration

Orchard Bearing duration

This model returns the length (in days) of the period when an orchard is bearing marketed fruit. It uses the crop specific average values derived from a variety sources, detailed in Poore & Nemecek, 2018.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

practices = run('orchardBearingDuration', cycle)
print(practices)

View source on Gitlab

Orchard density

Orchard density

This model returns the number of trees required for 1 ha of mature orchard. It uses the crop specific average values derived from a variety sources, detailed in Poore & Nemecek, 2018.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

practices = run('orchardDensity', cycle)
print(practices)

View source on Gitlab

Orchard duration

Orchard duration

This model returns the length (in days) from the establishment of an orchard to its removal. It uses the crop specific average values derived from a variety sources, detailed in Poore & Nemecek, 2018.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

practices = run('orchardDuration', cycle)
print(practices)

View source on Gitlab

Organic Fertilizer to Kg or Mass

Organic Fertilizer to Kg or Mass

This model uses the default nitrogenContent of organic fertilizers to convert a fertilzer amount from kilograms of mass to kilograms of nitrogen equivalents or vice versa.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

inputs = run('organicFertilizerToKgOrMass', cycle)
print(inputs)

View source on Gitlab

Rotation duration

Rotation duration

This model returns the length (in days) of the entire crop rotation, including the long fallow period. It uses the crop specific average values derived from a variety sources, detailed in Poore & Nemecek, 2018.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

practices = run('rotationDuration', cycle)
print(practices)

View source on Gitlab

Saplings

Saplings

This model returns saplings, which is the number of marketable saplings produced per hectare per year. It uses the crop specific average values derived from a variety sources, detailed in Poore & Nemecek, 2018.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

inputs = run('saplings', cycle)
print(inputs)

View source on Gitlab

Total nitrogen per kg soil

Total nitrogen per kg soil

This model calculates the soil total nitrogen content from the soil organic carbon content, using an assumed soil bulk density and an average relationship between total nitrogen and organic carbon content in the soil.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

measurements = run('totalNitrogenPerKgSoil', site)
print(measurements)

View source on Gitlab

Water Depth

Water Depth

This model returns an estimation of water depth depending on the type of the site.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.pooreNemecek2018 import run

print(run('waterDepth', site))

View source on Gitlab

ReCiPe 2016 Egalitarian

ReCiPe 2016 Egalitarian

These models characterise emissions and resource use according to the ReCiPe 2016 method, using an egalitarian perspective (see Huijbregts et al (2016), WMO (2011); Hayashi et al. (2006); De Schryver et al. (2011)).

Freshwater eutrophication potential

Freshwater eutrophication potential

This model calculates the potential of nutrient emissions to cause excessive growth of aquatic plants and algae in freshwater ecosystems (e.g. lakes, rivers, streams). Freshwater eutrophication is primarily linked to phosphorus as this tends to be the limiting nutrient in these ecosystems.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column pEqEgalitarianFreshwaterEutrophicationReCiPe2016.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.recipe2016Egalitarian import run

print(run('freshwaterEutrophicationPotential', impact))

View source on Gitlab

Marine eutrophication potential

Marine eutrophication potential

This model calculates the potential of nutrient emissions to cause excessive growth of aquatic plants and algae in marine ecosystems (e.g. seas, oceans, estuaries). Marine eutrophication is primarily linked to nitrogen as this tends to be the limiting nutrient in these ecosystems.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column nEqEgalitarianMarineEutrophicationReCiPe2016.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.recipe2016Egalitarian import run

print(run('marineEutrophicationPotential', impact))

View source on Gitlab

Terrestrial acidification potential

Terrestrial acidification potential

This model calculates the changes in soil chemical properties following the deposition of nitrogen and sulfur in acidifying forms.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column so2EqEgalitarianTerrestrialAcidificationReCiPe2016.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.recipe2016Egalitarian import run

print(run('terrestrialAcidificationPotential', impact))

View source on Gitlab

ReCiPe 2016 Hierarchist

ReCiPe 2016 Hierarchist

These models characterise emissions and resource use according to the ReCiPe 2016 method, using a hierarchist perspective (see Huijbregts et al (2016), WMO (2011); Hayashi et al. (2006); De Schryver et al. (2011)).

Freshwater eutrophication potential

Freshwater eutrophication potential

This model calculates the potential of nutrient emissions to cause excessive growth of aquatic plants and algae in freshwater ecosystems (e.g. lakes, rivers, streams). Freshwater eutrophication is primarily linked to phosphorus as this tends to be the limiting nutrient in these ecosystems.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column pEqHierarchistFreshwaterEutrophicationReCiPe2016.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.recipe2016Hierarchist import run

print(run('freshwaterEutrophicationPotential', impact))

View source on Gitlab

Marine eutrophication potential

Marine eutrophication potential

This model calculates the potential of nutrient emissions to cause excessive growth of aquatic plants and algae in marine ecosystems (e.g. seas, oceans, estuaries). Marine eutrophication is primarily linked to nitrogen as this tends to be the limiting nutrient in these ecosystems.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column nEqHierarchistMarineEutrophicationReCiPe2016.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.recipe2016Hierarchist import run

print(run('marineEutrophicationPotential', impact))

View source on Gitlab

Terrestrial acidification potential

Terrestrial acidification potential

This model calculates the changes in soil chemical properties following the deposition of nitrogen and sulfur in acidifying forms.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column so2EqHierarchistTerrestrialAcidificationReCiPe2016.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.recipe2016Hierarchist import run

print(run('terrestrialAcidificationPotential', impact))

View source on Gitlab

ReCiPe 2016 Individualist

ReCiPe 2016 Individualist

These models characterise emissions and resource use according to the ReCiPe 2016 method, using an individualist perspective (see Huijbregts et al (2016), WMO (2011); Hayashi et al. (2006); De Schryver et al. (2011)).

Freshwater eutrophication potential

Freshwater eutrophication potential

This model calculates the potential of nutrient emissions to cause excessive growth of aquatic plants and algae in freshwater ecosystems (e.g. lakes, rivers, streams). Freshwater eutrophication is primarily linked to phosphorus as this tends to be the limiting nutrient in these ecosystems.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column pEqIndividualistFreshwaterEutrophicationReCiPe2016.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.recipe2016Individualist import run

print(run('freshwaterEutrophicationPotential', impact))

View source on Gitlab

Marine eutrophication potential

Marine eutrophication potential

This model calculates the potential of nutrient emissions to cause excessive growth of aquatic plants and algae in marine ecosystems (e.g. seas, oceans, estuaries). Marine eutrophication is primarily linked to nitrogen as this tends to be the limiting nutrient in these ecosystems.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column nEqIndividualistMarineEutrophicationReCiPe2016.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.recipe2016Individualist import run

print(run('marineEutrophicationPotential', impact))

View source on Gitlab

Terrestrial acidification potential

Terrestrial acidification potential

This model calculates the changes in soil chemical properties following the deposition of nitrogen and sulfur in acidifying forms.

Returns

Returns

Requirements

Requirements

Characterisation factors used

Characterisation factors used

Characterisation factors applied to every emission can be found in emission lookup, using column so2EqIndividualistTerrestrialAcidificationReCiPe2016.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.recipe2016Individualist import run

print(run('terrestrialAcidificationPotential', impact))

View source on Gitlab

Scherer Pfister (2015)

Scherer Pfister (2015)

These models implement the phosphorus emissions models detailed in Scherer & Pfister (2015), many of which were originally developed in the SALCA guidelines.

N, erosion, soil flux

N, erosion, soil flux

This model calculates the nitrogen (N) emissions due to soil erosion, extending the methodology in Scherer & Pfister (2015), originally developed in the SALCA guidelines and detailed in Prasuhn (2006).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.schererPfister2015 import run

emissions = run('nErosionSoilFlux', cycle)
print(emissions)

View source on Gitlab

P, erosion, soil flux

P, erosion, soil flux

This model calculates the Phosphorus emissions due to soil erosion, extending the methodology in Scherer & Pfister (2015), originally developed in the SALCA guidelines and detailed in Prasuhn (2006).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.schererPfister2015 import run

emissions = run('pErosionSoilFlux', cycle)
print(emissions)

View source on Gitlab

P, to drainage water, soil flux

P, to drainage water, soil flux

This model calculates the phosphorus (P) emissions to drainage water, following the methodology in Scherer & Pfister (2015), originally developed in the SALCA guidelines and detailed in Prasuhn (2006).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.schererPfister2015 import run

emissions = run('pToDrainageWaterSoilFlux', cycle)
print(emissions)

View source on Gitlab

P, to groundwater, soil flux

P, to groundwater, soil flux

This model calculates the phosphorus (P) emissions to ground water, following the methodology in Scherer & Pfister (2015), originally developed in the SALCA guidelines and detailed in Prasuhn (2006).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.schererPfister2015 import run

emissions = run('pToGroundwaterSoilFlux', cycle)
print(emissions)

View source on Gitlab

P, to surface water, soil flux

P, to surface water, soil flux

This model calculates the phosphorus (P) emissions to surface water, following the methodology in Scherer & Pfister (2015), originally developed in the SALCA guidelines and detailed in Prasuhn (2006).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.schererPfister2015 import run

emissions = run('pToSurfaceWaterSoilFlux', cycle)
print(emissions)

View source on Gitlab

Site

Site

These models are specific to Site.

Measurement Value

Measurement Value

This model calculates the value of the Measurement by taking an average from the min and max values.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.site import run

print(run('measurement.value', site))

View source on Gitlab

Spatial

Spatial

Data are imputed from satellite or other geospatial datasets. Point data are point sampled. Polygon data are mean or mode sampled depending on the dataset. The dataset source is defined in the source field.

Aware Water Basin ID

Aware Water Basin ID

This model calculates the the AWARE water basin identifier.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('aware', site)
print(measurements)

View source on Gitlab

Clay, Sand and Silt Content

Clay, Sand and Silt Content

This model calculates the clay, sand and silt composition of the soil. The three terms can be calculated providing 0, 1 or 2 of the values. It uses data from from the Harmonized World Soil Database, version 1.2 (FAO, 2012). If Site location is a spatial point (latitude and longitude), this model returns the soil composition values at the point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), this model returns the mean soil composition values within the boundary. Clay, sand and silt content percentages must sum, to 100%. If two of the terms have percentage values, the remaining term value is calculated as to ensure the three values sum to 100%. If only one term has values, the spatial queries discussed earlier are used to extract clay and sand content.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('clayContent', site)
print(measurements)

View source on Gitlab

Cropping intensity

Cropping intensity

This model returns the cropping intensity as the ratio of maximum monthly growing area(MMGA)/area harvested(AH). Based on the data and cropping intensity model of Siebert et al. (2010) Remote Sens. 2, 1625-1643, doi:10.3390/rs2071625. If Site location is a spatial point (latitude and longitude), this model returns an estimate of cropping intensity at the given point location.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('croppingIntensity', site)
print(measurements)

View source on Gitlab

Drainage class

Drainage class

Drainage class is a six class categorical variable extracted from the Harmonized World Soil Database, version 1.2 (FAO, 2012). This model calculates the drainage class of the soils located at Site. If Site location is a spatial point (latitude and longitude), this model returns the drainage class at the given point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), the dominant (modal) drainage class is returned.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('drainageClass', site)
print(measurements)

View source on Gitlab

Eco-climate Zone

Eco-climate Zone

Eco-climate zone is a twelve class categorical variable that broadly groups areas based on their ecology and climate. They approximataely map to the IPCC (2019) Climate Zones. Data are derived from Hiederer et al. (2010) Biofuels: A new methodology to estimate GHG emissions from global land use change, European Commission Joint Research Centre. This model calculates the eco-climate zone of the Site. If Site location is a spatial point (latitude and longitude), this model returns the category of eco-climate zone at the given point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), the dominant (modal) eco-climate zone present within the boundary is returned.

Value Climate Zone
1 Warm Temperate Moist
2 Warm Temperate Dry
3 Cool Temperate Moist
4 Cool Temperate Dry
5 Polar Moist
6 Polar Dry
7 Boreal Moist
8 Boreal Dry
9 Tropical Montane
10 Tropical Wet
11 Tropical Moist
12 Tropical Dry
Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('ecoClimateZone', site)
print(measurements)

View source on Gitlab

Ecoregion

Ecoregion

Ecoregions represent the original distribution of distinct assemblages of species and communities. There are 867 terrestrial ecoregions as defined by WWF. This model calculates the ecoregion present at the Site. If Site location is a spatial point (latitude and longitude), this model returns the ecoregion at the given point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), the dominant (modal) ecoregion is returned. NOTE this model will be updated to return percent cover of each ecoregion within the boundary.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('ecoregion', site)
print(measurements)

View source on Gitlab

Erodibility

Erodibility

Erodibility is a quantitative measure of the vulnerability of the soil to erosion. Data were extracted from Scherer & Pfister, (2015) Int. J. Life Cycle Assess. 20, 785–795. This model calculates the erodibility of the soils located at Site. If Site location is a spatial point (latitude and longitude), this model returns the erodibility value at the given point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), mean erodibility of the soils within the boundary is returned.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('erodibility', site)
print(measurements)

View source on Gitlab

Fallow correction

Fallow correction

This model returns the long fallow period (days) relative to a cycle duration of 365 days. Based on the data and fallow period model of Siebert et al. (2010) Remote Sens. 2, 1625-1643, doi:10.3390/rs2071625. If Site location is a spatial point (latitude and longitude), this model returns an estimate of long fallow period at the given point location.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('fallowCorrection', site)
print(measurements)

View source on Gitlab

Heavy winter precipitation

Heavy winter precipitation

Heavy winter precipitation is a boolean variable set to 1 when precipitation exceeds 15 % of the annual average for at least one winter month during the year of the cycle, returns 0 if not. Based on Scherer & Pfister (2015). This model calculates the heavy winter precipitation for the Site. If Site location is a spatial point (latitude and longitude), this model returns the heavy winter precipitation at the given point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), the dominant (modal) heavy winter precipitation (either 1 or 0) within boundary is returned.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('heavyWinterPrecipitation', site)
print(measurements)

View source on Gitlab

Histosol

Histosol

This model determines if the soils located at Site are predominantly classed as histosols. Based on data adapted from the Harmonized World Soil Database, version 1.2 (FAO, 2012). If Site location is a spatial point (latitude and longitude), this model returns the percentage share of histosols in the pixel(s) which intersect with the location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), and the dominant (modal) soil type within that boundary is a histosol, then histosol is added as a measurement.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('histosol', site)
print(measurements)

View source on Gitlab

Nutrient loss to aquatic environment

Nutrient loss to aquatic environment

This metric is based on the Phosphorus reaching aquatic environment model of Scherer & Pfister, (2015) Int. J. Life Cycle Assess. 20, 785–795. This model calculates an estimate of nutrient loss (%) to the aquatic environment from the Site. If Site location is a spatial point (latitude and longitude), this model returns an estimate the nutrient loss to the aquatic environment at the point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), this model returns the mean estimate of nutrient loss to the aquatic environment within the boundary.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('nutrientLossToAquaticEnvironment', site)
print(measurements)

View source on Gitlab

Organic carbon per kg soil

Organic carbon per kg soil

Calculates the soil organic carbon content (%) for the Site. Based on data from the Harmonized World Soil Database, version 1.2 (FAO, 2012). If Site location is a spatial point (latitude and longitude), this model returns the organic carbon content of the soil at the point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), this model returns the mean organic carbon content of the soils within the boundary.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('organicCarbonPerKgSoil', site)
print(measurements)

View source on Gitlab

Phosphorus per kg soil

Phosphorus per kg soil

This model calculates the Phosphorus concentration of the soil at the Site. The data are derived from Phosphorus area density to a depth of 50cm, see Scherer & Pfister, (2015) Int. J. Life Cycle Assess. 20, 785–795. If Site location is a spatial point (latitude and longitude), this model returns the Phosphorus concentration of the soil at the point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), this model returns the mean Phosphorus concentration of the soil within the boundary.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('phosphorusPerKgSoil', site)
print(measurements)

View source on Gitlab

Rainfall annual

Rainfall annual

Calculates the total rainfall in the final year of the Cycle for the Site. Based on data from the Copernicus programme, ERA5 produced by ECMWF/Copernicus Climate Change Service. NOTE This model is in development, due to be updated during the week starting 22nd March.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('rainfallAnnual', site)
print(measurements)

View source on Gitlab

Region

Region

This model calculates the geogrpahic region of the Site. The model calculates the finest scale GADM region possible, moving from gadm level 5 (for example, a village) to GADM level 0 (Country).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('region', site)
print(measurements)

View source on Gitlab

Slope

Slope

This model calculates the terrain slope (%) of the 'Site'. Based on data from Scherer & Pfister, (2015) Int. J. Life Cycle Assess. 20, 785–795, and Danielson & Gesch (2008) Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. XXXVII, 1857–1864 (2008). If Site location is a spatial point (latitude and longitude), this model returns the percent slope at the given point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), the mean slope percent within the bounary is returned.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('slope', site)
print(measurements)

View source on Gitlab

Slope length

Slope length

This model calculates the slope length of the 'Site'. Based on data from Scherer & Pfister, (2015) Int. J. Life Cycle Assess. 20, 785–795, and Danielson & Gesch (2008) Int. Arch. Photogramm. Remote Sens. Spat. Inf. Sci. XXXVII, 1857–1864 (2008). If Site location is a spatial point (latitude and longitude), this model returns the slope length at the point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), this model returns the mean slope length within the boundary.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('slopeLength', site)
print(measurements)

View source on Gitlab

Soil Ph

Soil Ph

This model calculates the topsoil pH measurement of the Site. This approach is based on the soil-water solution method with data extracted from the Harmonized World Soil Database (HWSD). If Site location is a spatial point (latitude and longitude), this model returns the soil pH at the point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), this model returns the mean soil pH within the boundary.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('soilPh', site)
print(measurements)

View source on Gitlab

Temperature annual

Temperature annual

Calculates the mean annual temperature in the final year of the Cycle for the Site. Based on data from the Copernicus programme, ERA5 produced by ECMWF/Copernicus Climate Change Service

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('temperatureAnnual', site)
print(measurements)

View source on Gitlab

Total nitrogen per kg soil

Total nitrogen per kg soil

Calculates soil total Nitrogen concentration for the Site. Based on data from Batjes (2015) ISRIC report 2015/01 World Soil Information. If Site location is a spatial point (latitude and longitude), this model returns the total Nitrogen concentration of the soil at the point location. If Site location is a spatial boundary (either a custom boundary, or a boundary automatically derived from the GADM region), this model returns the mean total Nitrogen concentration of the soils within the boundary.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('totalNitrogenPerKgSoil', site)
print(measurements)

View source on Gitlab

Water depth

Water depth

This model returns the water depth of the Site in meters. Based on GEBCO Gridded Bathymetry Data.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.spatial import run

measurements = run('waterDepth', site)
print(measurements)

View source on Gitlab

Stehfest Bouwman (2006)

Stehfest Bouwman (2006)

These models calculate the emissions due to the use of fertilizer using the regression model detailed in Stehfest & Bouwman (2006).

N2O, to air, crop residue decomposition, direct

N2O, to air, crop residue decomposition, direct

This model calculates the direct N2O emissions due to the use of fertilizer using the regression model detailed in Stehfest & Bouwman (2006)(https://link.springer.com/article/10.1007/s10705-006-9000-7). It takes data on factors including soil, climate, and crop type. Here we also extend it to crop residue.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006 import run

emissions = run('n2OToAirCropResidueDecompositionDirect', cycle)
print(emissions)

View source on Gitlab

N2O, to air, excreta, direct

N2O, to air, excreta, direct

This model calculates the direct N2O emissions due to the use of fertilizer using the regression model detailed in Stehfest & Bouwman (2006). It takes data on factors including soil, climate, and crop type. Here we also extend it to animal excreta deposited directly on pasture.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006 import run

emissions = run('n2OToAirExcretaDirect', cycle)
print(emissions)

View source on Gitlab

N2O, to air, inorganic fertilizer, direct

N2O, to air, inorganic fertilizer, direct

This model calculates the direct N2O emissions due to the use of inorganic fertilizer using the regression model detailed in Stehfest & Bouwman (2006). It takes data on factors including soil, climate, and crop type.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006 import run

emissions = run('n2OToAirInorganicFertilizerDirect', cycle)
print(emissions)

View source on Gitlab

N2O, to air, organic fertilizer, direct

N2O, to air, organic fertilizer, direct

This model calculates the direct N2O emissions due to the use of organic fertilizer using the regression model detailed in Stehfest & Bouwman (2006). It takes data on factors including soil, climate, and crop type.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006 import run

emissions = run('n2OToAirOrganicFertilizerDirect', cycle)
print(emissions)

View source on Gitlab

N2O, to air, soil flux

N2O, to air, soil flux

This model calculates the direct N2O emissions due to the use of fertilizer using the regression model detailed in Stehfest & Bouwman (2006). It takes data on factors including soil, climate, and crop type.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006 import run

emissions = run('n2OToAirSoilFlux', cycle)
print(emissions)

View source on Gitlab

NOx, to air, crop residue decomposition

NOx, to air, crop residue decomposition

This model calculates the direct NOx emissions due to the use of fertilizer using the regression model detailed in Stehfest & Bouwman (2006). It takes data on factors including soil, climate, and crop type. Here we also extend it to crop residue and animal excreta deposited directly on pasture.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006 import run

emissions = run('noxToAirCropResidueDecomposition', cycle)
print(emissions)

View source on Gitlab

NOx, to air, excreta

NOx, to air, excreta

This model calculates the direct NOx emissions due to the use of fertilizer using the regression model detailed in Stehfest & Bouwman (2006). It takes data on factors including soil, climate, and crop type. Here we also extend it to crop residue and animal excreta deposited directly on pasture.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006 import run

emissions = run('noxToAirExcreta', cycle)
print(emissions)

View source on Gitlab

NOx, to air, inorganic fertilizer

NOx, to air, inorganic fertilizer

This model calculates the direct NOx emissions due to the use of fertilizer using the regression model detailed in Stehfest & Bouwman (2006). It takes data on factors including soil, climate, and crop type. Here we also extend it to crop residue and animal excreta deposited directly on pasture.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006 import run

emissions = run('noxToAirInorganicFertilizer', cycle)
print(emissions)

View source on Gitlab

NOx, to air, organic fertilizer

NOx, to air, organic fertilizer

This model calculates the direct NOx emissions due to the use of fertilizer using the regression model detailed in Stehfest & Bouwman (2006). It takes data on factors including soil, climate, and crop type. Here we also extend it to crop residue and animal excreta deposited directly on pasture.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006 import run

emissions = run('noxToAirOrganicFertilizer', cycle)
print(emissions)

View source on Gitlab

NOx, to air, soil flux

NOx, to air, soil flux

This model calculates the direct NOx emissions due to the use of fertilizer using the regression model detailed in Stehfest & Bouwman (2006). It takes data on factors including soil, climate, and crop type.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006 import run

emissions = run('noxToAirSoilFlux', cycle)
print(emissions)

View source on Gitlab

Stehfest Bouwman (2006) GIS Implementation

Stehfest Bouwman (2006) GIS Implementation

These models calculate the direct emissions due to the use of fertilizer, by creating a country-average version of the Stehfest & Bouwman (2006) model using GIS software.

NOx, to air, crop residue decomposition

NOx, to air, crop residue decomposition

This model calculates the direct NOx emissions due to the use of fertilizer, by creating a Tier 1 version of the Stehfest & Bouwman (2006) model using GIS software to create country average emissions factors.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006GisImplementation import run

emissions = run('noxToAirCropResidueDecomposition', cycle)
print(emissions)

View source on Gitlab

NOx, to air, excreta

NOx, to air, excreta

This model calculates the direct NOx emissions due to the use of fertilizer, by creating a Tier 1 version of the Stehfest & Bouwman (2006) model using GIS software to create country average emissions factors.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006GisImplementation import run

emissions = run('noxToAirExcreta', cycle)
print(emissions)

View source on Gitlab

NOx, to air, inorganic fertilizer

NOx, to air, inorganic fertilizer

This model calculates the direct NOx emissions due to the use of fertilizer, by creating a Tier 1 version of the Stehfest & Bouwman (2006) model using GIS software to create country average emissions factors.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006GisImplementation import run

emissions = run('noxToAirInorganicFertilizer', cycle)
print(emissions)

View source on Gitlab

NOx, to air, organic fertilizer

NOx, to air, organic fertilizer

This model calculates the direct NOx emissions due to the use of fertilizer, by creating a Tier 1 version of the Stehfest & Bouwman (2006) model using GIS software to create country average emissions factors.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006GisImplementation import run

emissions = run('noxToAirOrganicFertilizer', cycle)
print(emissions)

View source on Gitlab

NOx, to air, soil flux

NOx, to air, soil flux

This model calculates the direct NOx emissions due to the use of fertilizer, by creating a Tier 1 version of the Stehfest & Bouwman (2006) model using GIS software to create country average emissions factors.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.stehfestBouwman2006GisImplementation import run

emissions = run('noxToAirSoilFlux', cycle)
print(emissions)

View source on Gitlab

Transformation

Transformation

These models are specific to Transformation.

Transformation Post Checks

Transformation Post Checks

List of models to run after any other model on a Transformation.

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.transformation import post_checks

transformation = post_checks.run(transformation)
print(transformation)

View source on Gitlab

Product value

Product value

This model calculates the value of every Product by taking the value of the Input with the same term. Note: this model also substract Emissions for Input with units = kg N.

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.transformation.post_checks.product import run

print(run(transformation))

View source on Gitlab

Webb et al (2012) and Sintermann et al (2012)

Webb et al (2012) and Sintermann et al (2012)

These models calculate the emissions due to the addition of organic fertilizer based on a compilation of emissions factors from Webb et al (2012) and Sintermann et al (2012). The methodology for compiling these emissions is detailed in Poore & Nemecek (2018).

NH3, to air, organic fertilizer

NH3, to air, organic fertilizer

This model calculates the NH3 emissions due to the addition of organic fertilizer based on a compilation of emissions factors from Webb et al (2012) and Sintermann et al (2012). The methodology for compiling these emissions is detailed in Poore & Nemecek (2018).

Returns

Returns

Requirements

Requirements

Usage

Usage

  1. Install the library: pip install hestia_earth.models
  2. Import the library and run the model:
from hestia_earth.models.webbEtAl2012AndSintermannEtAl2012 import run

emissions = run('nh3ToAirOrganicFertilizer', cycle)
print(emissions)

View source on Gitlab