Skip to content
ReEmission 1.0.0 documentation
⌘ K
ReEmission 1.0.0 documentation

Contents:

  • About the Library
  • Theoretical Background
  • Configuration
  • Installation
    • Installing RE-Emission
    • About Docker
    • Building the ReEmission Docker Image
    • Using the ReEmission Docker Image
  • Usage
  • Running the ReEmission Docker Container
  • Tutorials
  • Demo
  • JSON file format description
  • Configuration
  • Reporting Calculation Outputs
  • Visualisation
  • Integration with GeoCARET
  • Python API reference
    • Model (Main)
    • Input Model
    • Reservoir Model
    • Catchment Model
    • Post-impoundment catchment
    • Emissions
    • Emission Profile Calculator
    • MonthlyTemperature
    • Biogenic Factors
    • Presenter
    • Utility functions
    • Auxiliary functions
    • Constants
    • Mixins
    • Document \(\LaTeX\) Compiler
    • Custom Exceptions
    • App Logger
    • External Data Downloader
    • Global variables
    • Main
    • SALib Integration
    • Postprocessing
  • License
ReEmission 1.0.0 documentation
/
Import the required libraries and RE-Emission classes

680d877f1a51424592ea4d6a2d8b63a7

Automatic calculation of emissions for batches of reservoirs

Input data is defined in JSON file whilst outputs data configuration is specified in YAML config file.

This notebook demonstrates how to:

  1. Read input data in JSON format and output configuration YAML file

  2. Instantiate the emission model object from input data output configuration file

  3. Calculate emissions

  4. Display model ouptputs

< Manual Step-By-Step Calculations | Contents | Saving Results To JSON >

Open in Colab

Import the required libraries and RE-Emission classes

[1]:
from os.path import exists
import pathlib
import gdown
import pprint
# Import reemission
try:
    import reemission
except ImportError:
    %pip install git+https://github.com/tomjanus/reemission.git --quiet
# Import package file loader
from reemission.utils import get_package_file
# Import from the model module
from reemission.model import EmissionModel
# Import from the input module
from reemission.input import Inputs

1. Read input data and output configuration YAML file

[2]:
if not exists(pathlib.Path('./inputs.json')):
    # Download the required input file from an external link
    !gdown 1T9Pal8h9Ce6phw1qdPM5AkuZM_hnvBGT
input_data = Inputs.fromfile('inputs.json')
output_config = get_package_file('config', 'outputs.yaml').as_posix()

2. Instantiate the emission model object from input data output configuration file

[3]:
model = EmissionModel(inputs=input_data, presenter_config=output_config, p_model='g-res')

3. Calculate emissions

[4]:
model.calculate()

4. Display outputs dictionary

[5]:
pprint.pprint(model.outputs)
{'Reservoir 1': {'ch4_degassing': 0.0,
                 'ch4_diffusion': 229.50728895021928,
                 'ch4_ebullition': 321.2319562880549,
                 'ch4_net': 550.7392452382742,
                 'ch4_preimp': 0.0,
                 'ch4_profile': [1075.7638713949952,
                                 983.3228492856958,
                                 883.5313487045227,
                                 726.8036292777338,
                                 613.7600723593921,
                                 532.224745950718,
                                 473.41547248304676,
                                 414.4537841630906,
                                 378.33609877105505,
                                 350.9395594718922],
                 'ch4_total_lifetime': 88.33857493621919,
                 'ch4_total_per_year': 883.3857493621919,
                 'co2_diffusion': 572.7646642529623,
                 'co2_diffusion_nonanthro': 393.12744599578104,
                 'co2_minus_nonanthro': 179.6372182571813,
                 'co2_net': 313.103884923848,
                 'co2_preimp': -133.4666666666667,
                 'co2_profile': [1537.2783464521954,
                                 796.8483727272558,
                                 580.8307965527008,
                                 408.98093357353525,
                                 325.2415499478169,
                                 272.2680978453252,
                                 234.50567817918972,
                                 193.5204959761715,
                                 163.50804922594176,
                                 133.4666666666667],
                 'co2_total_lifetime': 50.22186314178522,
                 'co2_total_per_year': 502.21863141785224,
                 'n2o_mean': 0.04569849137014073,
                 'n2o_methodA': 0.043280912406044016,
                 'n2o_methodB': 0.048116070334237454,
                 'n2o_profile': [0.043280912406044016,
                                 0.043280912406044016,
                                 0.043280912406044016,
                                 0.043280912406044016,
                                 0.043280912406044016,
                                 0.043280912406044016,
                                 0.043280912406044016,
                                 0.043280912406044016,
                                 0.043280912406044016,
                                 0.043280912406044016],
                 'n2o_total_lifetime': 0.00694225834992946,
                 'n2o_total_per_year': 0.0694225834992946},
 'Reservoir 2': {'ch4_degassing': 0.0,
                 'ch4_diffusion': 136.10915204619948,
                 'ch4_ebullition': 90.94433704616341,
                 'ch4_net': 227.0534890923629,
                 'ch4_preimp': 0.0,
                 'ch4_profile': [538.4190104073056,
                                 483.5969209166755,
                                 424.4156348335686,
                                 331.46836030085456,
                                 264.42795061792253,
                                 216.0734770408248,
                                 181.1966747364153,
                                 146.2294829005942,
                                 124.80991250234145,
                                 108.56241225925223],
                 'ch4_total_lifetime': 394.5735533447083,
                 'ch4_total_per_year': 3945.7355334470826,
                 'co2_diffusion': 796.9654854957547,
                 'co2_diffusion_nonanthro': 547.0117579064897,
                 'co2_minus_nonanthro': 249.953727589265,
                 'co2_net': 378.8003942559317,
                 'co2_preimp': -128.8466666666667,
                 'co2_profile': [2082.161049955455,
                                 1051.8999840865445,
                                 751.3253096762252,
                                 512.2071900900598,
                                 395.68918070233053,
                                 321.98000203239394,
                                 269.43600446933124,
                                 212.40773846209936,
                                 170.6473337304127,
                                 128.8466666666667],
                 'co2_total_lifetime': 658.279325137958,
                 'co2_total_per_year': 6582.79325137958,
                 'n2o_mean': 0.3184910807620064,
                 'n2o_methodA': 0.35553527541406443,
                 'n2o_methodB': 0.2814468861099484,
                 'n2o_profile': [0.35553527541406443,
                                 0.35553527541406443,
                                 0.35553527541406443,
                                 0.35553527541406443,
                                 0.35553527541406443,
                                 0.35553527541406443,
                                 0.35553527541406443,
                                 0.35553527541406443,
                                 0.35553527541406443,
                                 0.35553527541406443],
                 'n2o_total_lifetime': 0.6178492016145611,
                 'n2o_total_per_year': 6.178492016145611},
 'Reservoir 3': {'ch4_degassing': 0.0,
                 'ch4_diffusion': 238.65463850593412,
                 'ch4_ebullition': 210.60761679419937,
                 'ch4_net': 449.26225530013346,
                 'ch4_preimp': 0.0,
                 'ch4_profile': [995.2125078401448,
                                 899.0871132371035,
                                 795.3182760637874,
                                 632.3439435502227,
                                 514.7948699013089,
                                 430.0098334933974,
                                 368.8566301924427,
                                 307.5449373217607,
                                 269.9877286146468,
                                 241.49926006681994],
                 'ch4_total_lifetime': 1985.4696110734096,
                 'ch4_total_per_year': 19854.696110734098,
                 'co2_diffusion': 1001.8691408378094,
                 'co2_diffusion_nonanthro': 687.6511089825283,
                 'co2_minus_nonanthro': 314.2180318552811,
                 'co2_net': 701.7846985219478,
                 'co2_preimp': -387.5666666666667,
                 'co2_profile': [2843.0875625989893,
                                 1547.941426805347,
                                 1170.087559492952,
                                 869.4910225180519,
                                 723.0156731059005,
                                 630.3555104641342,
                                 564.302198679944,
                                 492.6116914899196,
                                 440.11448606382885,
                                 387.5666666666667],
                 'co2_total_lifetime': 3101.4672966478965,
                 'co2_total_per_year': 31014.672966478964,
                 'n2o_mean': 2.929791544898492,
                 'n2o_methodA': 3.6100903829982802,
                 'n2o_methodB': 2.2494927067987036,
                 'n2o_profile': [3.6100903829982802,
                                 3.6100903829982802,
                                 3.6100903829982802,
                                 3.6100903829982802,
                                 3.6100903829982802,
                                 3.6100903829982802,
                                 3.6100903829982802,
                                 3.6100903829982802,
                                 3.6100903829982802,
                                 3.6100903829982802],
                 'n2o_total_lifetime': 15.954433438622601,
                 'n2o_total_per_year': 159.544334386226},
 'Reservoir 4': {'ch4_degassing': 0.0,
                 'ch4_diffusion': 114.55798902807442,
                 'ch4_ebullition': 35.770362020378734,
                 'ch4_net': 150.32835104845316,
                 'ch4_preimp': 0.0,
                 'ch4_profile': [412.3930795276272,
                                 366.25137463895084,
                                 316.44069681271134,
                                 238.2104478101028,
                                 181.7850392212071,
                                 141.08688505429816,
                                 111.73238334991092,
                                 82.30180415336366,
                                 64.27375186018486,
                                 50.5988378180367],
                 'ch4_total_lifetime': 3972.0508555777537,
                 'ch4_total_per_year': 39720.50855577754,
                 'co2_diffusion': 556.5994481893181,
                 'co2_diffusion_nonanthro': 382.0321559024945,
                 'co2_minus_nonanthro': 174.5672922868236,
                 'co2_net': 349.0749589534903,
                 'co2_preimp': -174.5076666666667,
                 'co2_profile': [1538.6993759255602,
                                 819.1666594028836,
                                 609.245777054511,
                                 442.2460564443576,
                                 360.8700609845472,
                                 309.3916859221016,
                                 272.6950402310161,
                                 232.8665884743208,
                                 203.70118714535295,
                                 174.5076666666667],
                 'co2_total_lifetime': 9223.433102948598,
                 'co2_total_per_year': 92234.33102948598,
                 'n2o_mean': 0.0035568256933053745,
                 'n2o_methodA': 0.003956510851593258,
                 'n2o_methodB': 0.0031571405350174914,
                 'n2o_profile': [0.003956510851593258,
                                 0.003956510851593258,
                                 0.003956510851593258,
                                 0.003956510851593258,
                                 0.003956510851593258,
                                 0.003956510851593258,
                                 0.003956510851593258,
                                 0.003956510851593258,
                                 0.003956510851593258,
                                 0.003956510851593258],
                 'n2o_total_lifetime': 0.10454090797622287,
                 'n2o_total_per_year': 1.0454090797622286}}

Open in Colab

On this page

  • 1. Read input data and output configuration YAML file
  • 2. Instantiate the emission model object from input data output configuration file
  • 3. Calculate emissions
  • 4. Display outputs dictionary

© 2024, Tomasz Janus, University of Manchester, United Kingdom Built with Sphinx 8.1.3