|||
cURL Javascript Python PHP

About

Introduction

HOST: https://api2.dynmhx.io/.

Authentication

To start using the API, first register for an account by using the /register endpoint. Then use the /login endpoint to obtain an access token. You can then use your token to access the remainder of our endpoints. You must include your token in an authorization (bearer) header in subsequent requests to retrieve data. Your access token will expire after 30 minutes and you'll need to sign in again to obtain a new one.

Register New User

Registration

curl --location --request POST 'https://api2.dynmhx.io/register' \
--header 'Content-Type: application/json' \
--data-raw '{
    "username": "freddo",
    "email": "freddo@frog.com",
    "password": "The_fr0g"
  }'

import fetch from "node-fetch";
const data = {
  "username": "freddo",
  "email": "freddo@frog.com",
  "password": "The_fr0g"
}

fetch("https://api2.dynmhx.io/register", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/register"

payload = json.dumps({
  "username": "freddo",
  "email": "freddo@frog.com",
  "password": "The_fr0g"
})

headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init('https://api2.dynmhx.io/register');
$postData = array(
    "username" => "freddo",
    "email" => "freddo@frog.com",
    "password" => "The_fr0g"
  )


curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200


{
  "user": "freddo",
  "ok": "User created"
}

Provide basic information to self register for an account.

POST https://api2.dynmhx.io/register

Param Type Example Description
username (required) string freddo username for the account to be registered
password (required) string The_fr0g user password. Password must be at least 8 characters, with at least 1 of each alpha, number and special characters.
email (required) string freddo@frog.org Valid email address.

Obtain Access Token

Login

curl --location --request POST 'https://api2.dynmhx.io/register' \
--header 'Content-Type: application/json' \
--data-raw '{
    "username": "freddo",
    "email": "freddo@frog.com",
    "password": "The_fr0g"
  }'

import fetch from "node-fetch";
const data = {
  "username": "freddo",
  "email": "freddo@frog.com",
  "password": "The_fr0g"
}

fetch("https://api2.dynmhx.io/register", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/register"

payload = json.dumps({
  "username": "freddo",
  "email": "freddo@frog.com",
  "password": "The_fr0g"
})

headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init('https://api2.dynmhx.io/register');
$postData = array(
    "username" => "freddo",
    "email" => "freddo@frog.com",
    "password" => "The_fr0g"
  )


curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200


{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...."
}

Use HTTP basic auth to exchange username and password for an access token. Remember that you need to include this token in an authorization bearer header for all subsequent data calls. This header has the form: Authorization: Bearer <your_token>

POST https://api2.dynmhx.io/login

Param Type Example Description
username (required) string freddo username for the account to be registered
password (required) string The_fr0g user password. Password must be at least 8 characters, with at least 1 of each alpha, number and special characters.

Password Reset

Reset Password

curl -X GET 'https://api2.dynmhx.io/reset-password?password=freddo' \
-H 'Content-Type: application/json'
import fetch from "node-fetch";

fetch("https://api2.dynmhx.io/reset-password?password=freddo", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
  }
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/reset-password?password=freddo"
headers = {
  'Content-Type': 'application/json'
}
response = requests.request("GET", url, headers=headers)
print(response.text)

<?php

$curl = curl_init('https://api2.dynmhx.io/reset-password?password=freddo');

curl_setopt_array($ch, array(
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200


{
  "ok": "Please check your email for the password reset link"
}

Provide your username to request an email be sent to you with password reset instructions.

GET https://api2.dynmhx.io/reset-password

Param Type Example Description
username (required) string freddo username for the account to be recovered

Emissions

Carbon Dioxide

Carbon Dioxide

curl -X POST \
  https://api2.dynmhx.io/emissions/carbon-dioxide-conversion \
  -H "Content-type: application/json" \
  -d '{
    "conversion": {
      "fuel_type": "Vegetable oil",
      "input": 123,
      "unit": "btu",
      "category": "residential"
    }
  }'
const fetch = require("node-fetch");
const data = {
  conversion: {
    fuel_type: "Vegetable Oil",
    input: 123,
    unit: "btu",
    category: "residential",
  },
};

fetch(
  "https://api2.dynmhx.io/emissions/carbon-dioxide-conversion",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  }
)
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/emissions/carbon-dioxide-conversion"

payload = {
  "conversion": {
    "fuel_type": "Vegetable Oil",
    "input": 123,
    "unit": "btu",
    "category": "residential"
  }
}

headers = {'Content-Type': 'application/json'}

response = requests.post(url, headers=headers, data=json.dumps(payload))

data = response.json()
print(data)
<?php
  $url = "https://api2.dynmhx.io/emissions/carbon-dioxide-conversion";
  $ch = curl_init($url);
  $postData = array(
    "conversion" => array(
      "fuel_type" => "Vegetable Oil",
      "input" => 123,
      "unit" => "btu",
      "category"=> "residential"
    )
  );

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE

{
  "BTU": 123.0,
  "mmBTU": 0.000123,
  "gCH4": 0.00013325,
  "kgCH4": 1.3325e-7,
  "lbCH4": 2.937656e-7,
  "gCO2": 0.01003475,
  "kgCO2": 1.003475e-5,
  "lbCO2": 2.212281e-5,
  "gN2O": 1.025e-5,
  "kgN2O": 1.025e-8,
  "lbN2O": 2.259736e-8,
  "GALLON": 0.001025,
  "Category": "residential"
}

POST https://api2.dynmhx.io/emissions/carbon-dioxide-conversion

Param Type Required Description
fuel_type string true The fuel type to convert
input number true This is the number of units to convert
unit string true The unit of measurement. Common units are gallon, short_tons, scf, mmbtu, btu, co2, ch4, n2o
category string true There are four categories in which conversion can take place. The categories include: residential, commercial, industrial and transportation
Fuel Type Fuel Type Fuel Type
agricultural byproducts distillate fuel oil no 1 petrochemical feedstocks
peat distillate fuel oil no 2 petroleum coke
solid byproducts distillate fuel oil no 4 propane
wood and wood residuals ethane propylne
natural gas ethylene residual fuel oil no 5
blast furnace gas heavy gas oils residual fuel oil no 6
coke oven gas isobutane special naphtha
fuel gas isobutylene still gas
propane gas kerosene unfished oils
landfill gas kerosene type jet fuel used oils
other biomass gases liquefied petroleum gas biodiesel 100 percent
compressed natural gas lubricants ethanol 100 percent
asphalt and road oil motor gasoline rendered animal fat
aviation gasoline naphtha 401 deg f diesel fuel
butane natural gasoline liquefied natural gas
butylene other oil 401 def f methanol
crude oil pentanes plus residual fuel oil
anthracite coal vegetable oil bituminous coal
sub bituminous coal lignite coal mixed commercial sector
mixed electric power sector mixed industrial cooking coal coke
municipal solid waste petroleum coke solid plastics
plastics quad short ton tires tires short ton

Carbon Dioxide with mass

Carbon Dioxide with mass

curl -X POST \
  https://api2.dynmhx.io/emissions/carbon-dioxide-conversion \
  -H "Content-type: application/json" \
  -d '{
    "conversion": {
      "fuel_type": "Vegetable oil",
      "input": 123,
      "unit": "co2",
      "mass": "kg",
      "category": "residential"
    }
  }'
const fetch = require("node-fetch");
const data = {
  conversion: {
    fuel_type: "Vegetable Oil",
    input: 123,
    unit: "co2",
    mass: "kg",
    category: "residential",
  },
};

fetch(
  "https://api2.dynmhx.io/emissions/carbon-dioxide-conversion",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  }
)
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/emissions/carbon-dioxide-conversion"

payload = {
  "conversion": {
    "fuel_type": "Vegetable Oil",
    "input": 123,
    "unit": "co2",
    "mass": "kg",
    "category": "residential"
  }
}

headers = {'Content-Type': 'application/json'}

response = requests.post(url, headers=headers, data=json.dumps(payload))

data = response.json()
print(data)
<?php
  $url = "https://api2.dynmhx.io/emissions/carbon-dioxide-conversion";
  $ch = curl_init($url);
  $postData = array(
    "conversion" => array(
      "fuel_type" => "Vegetable Oil",
      "input" => 123,
      "unit" => "co2",
      "mass" => "kg",
      "category"=> "residential"
    )
  );

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE

{
  "BTU": 1507661000.0,
  "mmBTU": 1507.661,
  "gCO2": 123000.0,
  "kgCO2": 123.0,
  "lbCO2": 271.1683,
  "gCH4": 1633.299,
  "kgCH4": 1.633299,
  "lbCH4": 3.600804,
  "gN2O": 125.6384,
  "kgN2O": 0.1256384,
  "lbN2O": 0.2769849,
  "GALLON": 12563.84,
  "Category": "residential"
}

Units that require mass include CO2, CH4 and N2O

POST https://api2.dynmhx.io/emissions/carbon-dioxide-conversion

Param Type Required Description
fuel_type string true The fuel type to convert
input number true This is the number of units to convert
unit string true The unit of measurement. Common units are gallon, short_tons, scf, mmbtu, btu, co2, ch4, n2o
mass string false This param is only required when the unit type is CO2, CH4 or N2O. Acceptable mass units are kg, g and lbs. If mass is not provided, it defaults to pounds(lbs)
category string true There are four categories in which conversion can take place. The categories include: residential, commercial, industrial and transportation

Carbon Dioxide units

Carbon Dioxide units

curl -X GET \
  https://api2.dynmhx.io/emissions/carbon-dioxide-conversion?fuel_type=propane \
  -H "Content-type: application/json" \
const fetch = require("node-fetch");
fetch(
  "https://api2.dynmhx.io/emissions/energy-conversion?fuel_type=propane",
  {
    method: "GET",
    headers: {
      "Content-Type": "application/json",
    },
  }
)
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json
url = "https://api2.dynmhx.io/emissions/energy-conversion?fuel_type=propane"
headers = {
  'Content-Type': 'application/json'
}
response = requests.request("GET", url, headers=headers)
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/emissions/carbon-dioxide-conversion?fuel_type=propane',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>

RESPONSE : 200

["mmBTU", "CO2", "CH4", "N2O", "BTU", "GALLON"]

GET https://api2.dynmhx.io/emissions/carbon-dioxide-conversion?fuel_type=propane

Param Type Required Description
fuel_type string true The fuel type to convert

Energy

Energy

curl -X POST \
  https://api2.dynmhx.io/emissions/energy-conversion \
  -H "Content-type: application/json" \
  -d  '{
    "conversion": {
      "fuel_type": "Anthracite coal",
      "input": 123,
      "unit": "short ton",
      "category": "transportation"
    }
  }
const fetch = require("node-fetch");
const data = {
  conversion: {
    fuel_type: "Anthracite coal",
    input: 123,
    unit: "short ton",
    category: "transportation",
  },
};

fetch("https://api2.dynmhx.io/emissions/energy-conversion", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/emissions/energy-conversion"

payload = {"conversion": {
    "fuel_type": "Anthracite coal",
    "input": 123,
    "unit": "short ton",
    "category": "transportation"
  }
}

headers = {'Content-Type': 'application/json'}

response = requests.post(url, headers=headers, data=json.dumps(payload))

data = response.json()
print(data)
<?php
  $url = "https://api2.dynmhx.io/emissions/energy-conversion";
  $ch = curl_init($url);
  $postData = array(
    "conversion" => array(
      "fuel_type" => "Anthracite coal",
      "input" => 123,
      "unit" => "short ton",
      "category"=> "transportation"
    )
  );

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "QUAD": 3.567e-6,
  "EJ": 3.76134e-6,
  "kWH": 1045428.0,
  "BTU": 3567000000.0,
  "SHORT_TON": 123.0,
  "Category": "transportation"
}

Energy Conversion

POST https://api2.dynmhx.io/emissions/energy-conversion

Param Type Required Description
fuel_type string true The fuel type to convert
input number true This is the number of units to convert
unit string true The unit of measurement. Common units are gallon, short_tons, scf, kwh and btu
category string true There are four categories in which conversion can take place. The categories include: residential, commercial, industrial and transportation
Fuel Type Fuel Type Fuel Type
agricultural byproducts distillate fuel oil no 1 petrochemical feedstocks
peat distillate fuel oil no 2 petroleum coke
solid byproducts distillate fuel oil no 4 propane
wood and wood residuals ethane propylne
natural gas ethylene residual fuel oil no 5
blast furnace gas heavy gas oils residual fuel oil no 6
coke oven gas isobutane special naphtha
fuel gas isobutylene still gas
propane gas kerosene unfished oils
landfill gas kerosene type jet fuel used oils
other biomass gases liquefied petroleum gas biodiesel 100 percent
compressed natural gas lubricants ethanol 100 percent
asphalt and road oil motor gasoline rendered animal fat
aviation gasoline naphtha 401 deg f diesel fuel
butane natural gasoline liquefied natural gas
butylene other oil 401 def f methanol
crude oil pentanes plus residual fuel oil
anthracite coal vegetable oil bituminous coal
sub bituminous coal lignite coal mixed commercial sector
mixed electric power sector mixed industrial cooking coal coke
municipal solid waste petroleum coke solid plastics
plastics quad short ton tires tires short ton

Energy units

Energy units

curl -X GET \
  https://api2.dynmhx.io/emissions/energy-conversion?fuel_type=propane \
  -H "Content-type: application/json" \
const fetch = require("node-fetch");
fetch(
  "https://api2.dynmhx.io/emissions/energy-conversion?fuel_type=propane",
  {
    method: "GET",
    headers: {
      "Content-Type": "application/json",
    },
  }
)
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json
url = "https://api2.dynmhx.io/emissions/energy-conversion?fuel_type=propane"
headers = {
  'Content-Type': 'application/json'
}
response = requests.request("GET", url, headers=headers)
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/emissions/energy-conversion?fuel_type=propane',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>

RESPONSE : 200

["BTU", "QUAD", "EJ", "kWH", "SCF"]

GET https://api2.dynmhx.io/emissions/energy-conversion?fuel_type=propane

Param Type Required Description
fuel_type string true The fuel type to convert

Individual Community

About

Many of our daily activities - such as using electricity, driving a car, or disposing of waste - cause greenhouse gas emissions. Together these emissions make up a household's carbon footprint.

The calculator estimates your footprint in three areas: home energy, transportation and waste. Everyone's carbon footprint is different depending on their location, habits, and personal choices.

For an explanation of the calculator's assumptions and sources, see the Assumptions and References page.

You can get a quick, rough estimate of your carbon footprint by using U.S. average amounts. They are provided (along with other useful information) in the "tool tips" throughout the calculator.

For a more accurate estimate, use your own numbers. Gather your utility bills (electricity, natural gas, fuel oil, propane) to calculate your average use over a year. You can find your car's rated fuel efficiency at fueleconomy.gov, or you can calculate your car's actual efficiency.

Home Energy Home Energy

Home Energy

curl -X POST \
  https://api2.dynmhx.io/individual/home-energy \
  -H "Content-type: application/json" \
  -d '{
    "number_of_people": 2,
    "primary_heating_source": "Electricity",
    "utility_options": {
      "natural_gas": {
        "unit_of_measurement": "Dollars",
        "average_price_per_thousand_cubic_feet": 1000,
        "amount": 1000
      },
      "electricity": {
        "unit_of_measurement": "Dollars",
        "average_price_per_kilowatt": 1000,
        "green_percentage": 10,
        "amount": 1000
      },
      "fuel_oil": {
        "unit_of_measurement": "Dollars",
        "average_price_per_gallon": 1000,
        "amount": 1000
      },
      "propane": {
        "unit_of_measurement": "Dollars",
        "average_price_per_gallon": 1000,
        "amount": 1000
      }
    }
  }'
const fetch = require("node-fetch");
const data = {
  number_of_people: 2,
  primary_heating_source: "Electricity",
  utility_options: {
    natural_gas: {
      unit_of_measurement: "Dollars",
      average_price_per_thousand_cubic_feet: 1000,
      amount: 1000,
    },
    electricity: {
      unit_of_measurement: "Dollars",
      average_price_per_kilowatt: 1000,
      green_percentage: 10,
      amount: 1000,
    },
    fuel_oil: {
      unit_of_measurement: "Dollars",
      average_price_per_gallon: 1000,
      amount: 1000,
    },
    propane: {
      unit_of_measurement: "Dollars",
      average_price_per_gallon: 1000,
      amount: 1000,
    },
  },
};

fetch("https://api2.dynmhx.io/individual/home-energy", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/individual/home-energy"

payload = {
    "number_of_people": 2,
    "primary_heating_source": "Electricity",
    "utility_options": {
        "natural_gas": {
            "unit_of_measurement": "Dollars",
            "average_price_per_thousand_cubic_feet": 1000,
            "amount": 1000
        },
        "electricity": {
            "unit_of_measurement": "Dollars",
            "average_price_per_kilowatt": 1000,
            "green_percentage": 10,
            "amount": 1000
        },
        "fuel_oil": {
            "unit_of_measurement": "Dollars",
            "average_price_per_gallon": 1000,
            "amount": 1000
        },
        "propane": {
            "unit_of_measurement": "Dollars",
            "average_price_per_gallon": 1000,
            "amount": 1000
        }
    }
}

headers = {'Content-Type': 'application/json'}

response = requests.post(url, headers=headers, data=json.dumps(payload))

data = response.json()
print(data)
<?php
  $url = "https://api2.dynmhx.io/individual/home-energy";
  $ch = curl_init($url);
  $postData = array(
    "number_of_people" => 2,
    "primary_heating_source" => "Electricity",
    "utility_options" => array(
      "natural_gas" => array(
        "unit_of_measurement" => "Dollars",
        "average_price_per_thousand_cubic_feet" => 1000,
        "amount" => 1000
      ),
      "electricity" => array(
        "unit_of_measurement" => "Dollars",
        "average_price_per_kilowatt" => 1000,
        "green_percentage" => 10,
        "amount" => 1000
      ),
      "fuel_oil" => array(
        "unit_of_measurement" => "Dollars",
        "average_price_per_gallon" => 1000,
        "amount" => 1000
      ),
      "propane" => array(
        "unit_of_measurement" => "Dollars",
        "average_price_per_gallon" => 1000,
        "amount" => 1000
      )
    )
  );

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "total_emissions": 1866,
  "utility_emissions": {
    "natural_gas": 1435,
    "electricity": 11,
    "fuel_oil": 271,
    "propane": 149
  },
  "invalid": []
}

Your Current Emissions from Home Energy.

POST https://api2.dynmhx.io/individual/home-energy

Param Type Required Description
number_of_people string true the number of people in the household
primary_heating_source string true primmary heating source in the household
utility_options object true price or amount of energy you use in the house. The options are natural_gas, electricity, fuel_oil and propane
natural_gas ['unit_of_measurement'] string true The unit of measurement you use to determine amount of energy consumed. Options are Dollars, Therms and Thousand Cubic Feet
natural_gas ['average_price* per_thousand_cubic_feet'] string false The average price per thousand cubic feet of natural gas. If not provided the assumption is 10.68
natural_gas ['amount'] string false The amount of natural_gas consumed whether in price or thousand cubic feet
electricity ['unit_of_measurement'] string true The unit of measurement you use to determine amount of energy consumed. Options are Dollars and Kilowatts
electricity ['average_price_ per_kilowatt'] string false The average price per kilowatt of electricity. If not provided the assumption is 0.1188
electricity ['green_percentage'] string false the percentage of green electricity used in a household
electricity ['amount'] string false The amount of electricity consumed whether in price or kilowatts
fuel_oil ['unit_of_measurement'] string true The unit of measurement you use to determine amount of energy consumed. Options are Dollars and Gallons
fuel_oil ['average_price _per_gallon'] string false The average price per gallon of fuel_oil. If not provided the assumption is 4.02
fuel_oil ['amount'] string false The amount of fuel_oil consumed whether in price or gallons
propane ['unit_of_measurement'] string true The unit of measurement you use to determine amount of energy consumed. Options are Dollars and Gallons
propane ['average_price_ per_gallon'] string false The average price per gallon of propane. If not provided the assumption is 2.47
propane ['amount'] string false The amount of propane consumed whether in price or gallons

Transportation Transportation

Transportation

curl -X POST \
  https://api2.dynmhx.io/individual/transportation \
  -H "Content-type: application/json" \
  -d '{
    "current_maintenance": "Do Not Do",
    "average_emissions_per_vehicle": 10484,
    "vehicles": [
      {
        "average_miles_driven": {
          "duration": "Per Week",
          "amount": 23
        },
        "average_gas_mileage": 20
      },
      {
        "average_miles_driven": {
          "duration": "Per Week",
          "amount": 30
        },
        "average_gas_mileage": 30
      }
    ]
  }'
const fetch = require("node-fetch");

const data = {
  current_maintenance: "Do Not Do",
  average_emissions_per_vehicle: 10484,
  vehicles: [
    {
      average_miles_driven: {
        duration: "Per Week",
        amount: 23,
      },
      average_gas_mileage: 20,
    },
    {
      average_miles_driven: {
        duration: "Per Week",
        amount: 30,
      },
      average_gas_mileage: 30,
    },
  ],
};

fetch("https://api2.dynmhx.io/individual/transportation", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/individual/transportation"

payload={
  "current_maintenance": "Do Not Do",
  "average_emissions_per_vehicle": 10484,
  "vehicles": [{
    "average_miles_driven": {
      "duration": "Per Week",
      "amount": 23
    },
    "average_gas_mileage": 20
  },
  {
    "average_miles_driven": {
      "duration": "Per Week",
      "amount": 30
    },
    "average_gas_mileage": 30
  }]
}

headers = {'Content-Type': 'application/json'}

response = requests.post(url, headers=headers, data=json.dumps(payload))

data = response.json()
print(data)

<?php
  $url = "https =>//dynm-api.herokuapp.com/individual/transportation";
  $ch = curl_init($url);
  $postData = array(
    "current_maintenance" => "Do Not Do",
    "average_emissions_per_vehicle" => 10484,
    "vehicles" => array(
      array(
        "average_miles_driven" => array(
          "duration" => "Per Week",
          "amount" => 23
        ),
        "average_gas_mileage" => 20
      ),
      array(
        "average_miles_driven" => array(
          "duration" => "Per Week",
          "amount" => 30
        ),
        "average_gas_mileage" => 30
      )
    )
  );

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump(json_encode($postData));
?>

RESPONSE : 200

{
  "total_exhaust": 2310,
  "usa_average": 20968
}

This endpoint deals with transportation.

POST https://api2.dynmhx.io/individual/transportation

Param Type Required Description
current_maintainance string true state of maintainance of the vehicle. Options are "Do not Do" and "Already Done"
average_emissions _per_vehicle string true the average emissions of exhaust per vehicle
vehicles object true the vehicles in a household.
average_miles_driven ['duration'] string true the duration in which the vehicles are driven. Options are Per Week and Per Year
average_miles_driven ['value'] string true the average amount of miles driven
average_gas_mileage string true average amount of gas used by vehicles per mileage

Waste Waste

Waste

curl -X POST \
  https://api2.dynmhx.io/individual/waste \
  -H "Content-type: application/json" \
  -d '{
    "average_waste_per_person": 692,
    "number_of_people": 2,
    "materials_recycled": {
      "metal": true,
      "plastic": true,
      "glass": false,
      "newspaper": false,
      "magazines": false
    }
  }'

const fetch = require("node-fetch");

const data = {
  average_waste_per_person: 692,
  number_of_people: 2,
  materials_recycled: {
    metal: true,
    plastic: true,
    glass: false,
    newspaper: false,
    magazines: false,
  },
};

fetch("https://api2.dynmhx.io/individual/waste", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/individual/waste"

payload={
  "average_waste_per_person": 692,
  "number_of_people": 2,
  "materials_recycled": {
    "metal": true,
    "plastic": true,
    "glass": false,
    "newspaper": false,
    "magazines": false
  }
}

headers = {'Content-Type': 'application/json'}

response = requests.post(url, headers=headers, data=json.dumps(payload))

data = response.json()
print(data)
<?php
  $url = "https://api2.dynmhx.io/individual/waste";
  $ch = curl_init($url);
  $postData = array(
    'average_waste_per_person' => 692,
    'number_of_people' => 2,
    'materials_recycled' => array(
      'metal' => true,
      'plastic' => true,
      'glass' => false,
      'newspaper' => false,
      'magazines' => false
    )
  );

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data)
?>

RESPONSE : 200

{
  "total_emissions_after_recycling": 1134,
  "total_recycled": 250,
  "usa_average": 1384,
  "waste_reduction": {
    "metal": 179,
    "plastic": 71
  },
  "invalid_inputs": []
}

This endpoint deals with waste.

POST https://api2.dynmhx.io/individual/waste

Param Type Required Description
average_waste_per_person string true the average waste of one person in a household
number_of_people string true the number of people in a household
materials_recycled object true materials to be recycled. Options are metal, plastic, glass,newspaper and magazines.
materials_recycled ['metal'] boolean true Metal is the material being recycled. if true, the value of reduction is -89.38
materials_recycled ['plastic'] boolean true Plastic is the material being recycled. if true, the value of reduction is -35.50
materials_recycled ['glass'] boolean true Glass is the material being recycled. if true, the value of reduction is -25.39
materials_recycled ['newspaper'] boolean true Newspaper is the material being recycled. if true, the value of reduction is -113.14
materials_recycled ['magazines'] boolean true Magazine is the material being recycled. if true, the value of reduction is -27.46

Scope 3

Results Summary

Corporate Corporate

About

A calculation tool for estimating GHG emissions based on the GHG Protocol.

The tool uses default emission factors, which vary by country. These are free to use and publicly available, and the tool includes links of where to obtain them. Currently, separate sets of emission factors are available for the UK and US. Location-based Scope 2 emission factors are also available for the US, Canada and Australia, while market-based residual mix emission factors are available for the US, Canada and all European counties. The GHG emissions results for each activity types are provided in the "Results Summary".

This tool covers the following cross-sectoral emission sources:

Facilities

Stationary Combustion Stationary Combustion

Stationary Combustion

curl --location --request POST 'https://api2.dynmhx.io/corporate/stationary-combustion' \
--header 'Content-Type: application/json' \
--data-raw '{
  "facility_id": 1,
  "year": 2019,
  "fuel_type": "Coal Coke",
  "amount": 1000,
  "units": "therm",
  "activity_type": "Stationary Combustion",
  "gwp_dataset_revision": "2014 IPCC Fifth Assessment"

}'
const fetch = require("node-fetch");
const data = {
  facility_id: 1,
  year: 2019,
  fuel_type: "Coal Coke",
  amount: 1000,
  units: "therm",
  activity_type: "Stationary Combustion",
  gwp_dataset_revision: "2014 IPCC Fifth Assessment",

};

fetch("https://api2.dynmhx.io/corporate/stationary-combustion", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/stationary-combustion"

payload = json.dumps({
  "facility_id": 1,
  "year": 2019,
  "fuel_type": "Coal Coke",
  "amount": 1000,
  "units": "therm",
  "activity_type": "Stationary Combustion",
  "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/corporate/stationary-combustion";
  $ch = curl_init($url);
  $postData = array(
    "facility_id" => 1,
    "year"=> 2019,
    "fuel_type" => "Coal Coke",
    "amount" => 1000,
    "units" => "therm",
    "activity_type" => "Stationary Combustion",
    "gwp_dataset_revision" => "2014 IPCC Fifth Assessment"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "type": "Stationary Combustion",
  "biofuel_c02_tonnes": 0.0,
  "c02_tonnes": 11.367,
  "c02e_tonnes": 11.4402,
  "ch4_tonnes": 0.0011,
  "ef_kg_c02e": 114.402,
  "n20_tonnes": 0.00016,
  "scope": 1
}

Includes fuel consumption at a facility to produce electricity, steam, heat, or power. The combustion of fossil fuels by natural gas boilers, diesel generators and other equipment emits carbon dioxide, methane, and nitrous oxide into the atmosphere.

POST https://api2.dynmhx.io/corporate/stationary-combustion

Param Type Required Description
facility_id string true Id of the facility selected. e.g 5
year integer true Selected year for the row. e.g 2018
fuel_type string true Type of fuel for the stationary combustion row e.g Coal Coke
amount float true Fuel amount enetered for the row
units string true Selected unit of measuement (e.g., kg or kWh or therms)
activity_type string true The activity type under which the row entry falls under. Fixed to 'Stationary Combustion' for all rows
gwp_dataset_revision string true The selected GWP dataset revision e.g 2014 IPCC Fifth Assessment
Fuel Type Fuel Type Fuel Type
Anthracite Coal Bituminous Coal Sub-bituminous Coal
Lignite Coal Mixed (Commercial Sector) Mixed (Electric Power Sector)
Municipal Solid Waste Petroleum Coke (Solid) Plastics
Tires Agricultural Byproducts Peat
Solid Byproducts Wood and Wood Residuals Natural Gas
Blast Furnace Gas Coke Oven Gas Fuel Gas
Propane Gas Landfill Gas Other Biomass Gases
Asphalt and Road Oil Aviation Gasoline Butane
Butylene Crude Oil Distillate Fuel Oil No. 1
Distillate Fuel Oil No. 2 Distillate Fuel Oil No. 4 Ethane
Ethylene Heavy Gas Oils Isobutane
Isobutylene Kerosene Kerosene-Type Jet Fuel
Liquefied Petroleum Gases (LPG) Lubricants Motor Gasoline
Naphtha (<401 deg F) Natural Gasoline Other Oil (>401 deg F)
Pentanes Plus Petrochemical Feedstocks Straw
Petroleum Coke Propane Propylene
Residual Fuel Oil No. 5 Residual Fuel Oil No. 6 Special Naphtha
Unfinished Oils Used Oil Biodiesel (100%)
Rendered Animal Fat Vegetable Oil 0.12 North American Hardwood
North American Softwood Bamboo

Source: EPA, "Emission Factors for Greenhouse Gas Inventories," Table 1 Stationary Combustion Emission Factors, March 9, 2018 (https://www.epa.gov/climateleadership/center-corporate-climate-leadership-ghg-emission-factors-hub). Note: Emission factors are per unit of heat content using higher heating values (HHV). If heat content is available from the fuel supplier, it is preferable to use that value. If not, default heat contents are provided.

Refrigerants Refrigerants

Refrigerants

curl --location --request POST 'https://api2.dynmhx.io/corporate/refrigerants' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 2018,
    "facility_id": 1,
    "refrigerant": "Methane",
    "calculation_method": "Sales Approach (Product)",
    "equipment_type": "",
    "inventory_start": 50,
    "inventory_end": 1,
    "purchased": 0,
    "gwp_dataset_revision": "2007 IPCC Fifth Assessment"

}'
const fetch = require("node-fetch");
const data = {
  year: 2018,
  facility_id: 1,
  refrigerant: "Methane",
  calculation_method: "Sales Approach (Product)",
  equipment_type: "",
  inventory_start: 50,
  inventory_end: 1,
  purchased: 0,
  gwp_dataset_revision: "2007 IPCC Fifth Assessment"

};

fetch("https://api2.dynmhx.io/corporate/refrigerants", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/refrigerants"

payload = json.dumps({
  "year": 2018,
  "facility_id": 1,
  "refrigerant": "Methane",
  "calculation_method": "Sales Approach (Product)",
  "equipment_type": "",
  "inventory_start": 50,
  "inventory_end": 1,
  "purchased": 0,
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment"

})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/corporate/refrigerants";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 2018,
    "facility_id"=> 1,
    "refrigerant"=> "Methane",
    "calculation_method"=> "Sales Approach (Product)",
    "equipment_type"=> "",
    "inventory_start"=> 50,
    "inventory_end"=> 1,
    "purchased"=> 0,
    "gwp_dataset_revision"=> "2007 IPCC Fifth Assessment"

    );

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "type": "Fugitive",
  "c02e_tonnes": 1.225,
  "scope": 1
}

Includes leaks in your company's HVAC system, chillers, refrigerators, etc., through which refrigerant gas escapes. Most refrigerant gases contribute to global warming when leaked into the atmosphere. The quantity of leaked gas is assumed to equal the amount of gas replaced in these systems by your HVAC or chiller maintenance company.

Records or invoices from your maintenance company show the amount and type of refrigerant gas (e.g., freon, R-22, HFC-134a , CFC-12) replaced in your building's systems.

POST https://api2.dynmhx.io/corporate/refrigerants

Param Type Required Description
facility_id string required Id of the facility selected. e.g 5.
year integer required Selected year for the row. e.g 2018.
fuel_source string required Source of fuel for the mobile combustion row. e.g Motor Gasoline.
calculation_method string required Calculation approach used. Either of 'Sales Approach (Product)', 'Sales Approach (User)' or 'Lifecycle Stage Approach'
equipment_type string false Type of air conditioning and refrigeration equipment.
refrigerant string required Type of refrigerant gas whose emissions are being calculated e.g HFC-134a.
gwp_dataset_revision string required The selected GWP dataset revision e.g 2014 IPCC Fifth Assessment.

Different calculation methods will have different fields:

Param Type Description
inventory_start float Refrigerant inventory (in storage, not equipment) at the beginning of the year
inventory_end float Refrigerant inventory (in storage, not equipment) at the end of the year
bulk_purchased float Refrigerant purchased from producers/ distributors in bulk
manufacturer_provided float Refrigerant provided by manufacturers with or inside equipment
contractor_added float Refrigerant added to equipment by contractors
returned_offsite_recycling float Refrigerant returned after off-site recycling or reclamation
bulk_sales float Sales of refrigerant (in bulk, not in equipment) to other entities
left_equipment_sales float Refrigerant left in equipment that is sold to other entities
returned_suppliers float Refrigerant returned to suppliers
sent_offsite_recycling float Refrigerant sent off-site for recycling or reclamation
sent_offsite_destruction float Refrigerant sent off-site for destruction
new_equipment_charge float Total full charge of new equipment
retrofitted_equipment_charge float Total full charge of equipment retrofitted to use this refrigerant
retired_or_sold_equipment_charge float Original total full charge of equipment that is retired or sold to other entities
retrofitted_away_equipment_charge float Total full charge of equipment retrofitted away from this refrigerant to a different refrigerant
Param Type Description
inventory_start float Refrigerant inventory (in storage, not equipment) at the beginning of the year
inventory_end float Refrigerant inventory (in storage, not equipment) at the end of the year
purchased float Refrigerant purchased from producers/ distributors
user_returned float Refrigerant returned by equipment users
returned_recycling float Refrigerant returned after off-site recycling or reclamation
charged_equipment float Refrigerant charged into equipment* If not known, see steps A1 to A4 for a default value
delivered_equipment_users float Refrigerant delivered to equipment users in containers
returned_producers float Refrigerant returned to refrigerant producers
sent_offsite_recycling float Refrigerant sent off-site for recycling or reclamation
sent_offsite_destruction float Refrigerant sent off-site for destruction
Param Type Description
new_equipment_fill float Refrigerant used to fill new equipment
retrofitted_equipment_fill float Refrigerant used to fill equipment retrofitted to use this refrigerant
new_equipment_charge float Total full charge of new equipment using this refrigerant
retrofitted_equipment_charge float Total full charge of equipment retrofitted to use this refrigerant
equipment_service_amount float Refrigerant used to service equipment (net amount after recovery, recycling and recharge)
retired_equipment_charge float Original total full charge of equipment that is retired or sold to other entities
retrofitted_away_equipment_charge float Total original full charge of equipment retrofitted away from this refrigerant to a different refrigerant
retiring_equipment_recovered float Refrigerant recovered from retiring equipment
retrofitted_away_equipment_recovered float Refrigerant recovered from equipment retrofitted away from this refrigerant to a different refrigerant

GWPs of Required Greenhouse Gases and Refrigerant Blends

Common Name Common Name Common Name
Carbon dioxide Methane Nitrous oxide
Nitrogen trifluoride Sulfur hexafluoride Hydrofluorocarbons (HFCs)
HFC-23 (R-23) HFC-32 (R-32) HFC-41 (R-41)
HFC-125 (R-125) HFC-134 (R-134) HFC-134a (R-134a)
HFC-143 (R-143) HFC-143a (R-143a) HFC-152 (R-152)
HFC-152a (R-152a) HFC-161 (R-161) HFC-227ea (R-227ea)
HFC-236cb (R-236cb) HFC-236ea (R-236ea) HFC-236fa (R-236fa)
HFC-245ca (R-245ca) HFC-245fa (R-245fa) HFC-365mfc
HFC-43-10mee (R-4310) Perfluorocarbons (PFCs) PFC-116 (Perfluoroethane)
PFC-218 (Perfluoropropane) PFC-318 (Perfluorocyclobutane) PFC-4-1-12 (Perfluoropentane)
PFC-9-1-18 (Perfluorodecalin)

Purchased Electricity Purchased Electricity

Purchased Electricity

curl --location --request POST 'https://api2.dynmhx.io/corporate/electricity' \
--header 'Content-Type: application/json' \
--data-raw '{
    "facility_id": 1,
    "year": 2018,
    "emission_factor_type": "Grid Average/Location Based",
    "approach": "Market Based",
    "amount": 100,
    "units": "GJ",
    "gwp_dataset_revision": "2007 IPCC Fifth Assessment"

}'
const fetch = require("node-fetch");
const data = {
  facility_id: 1,
  year: 2018,
  emission_factor_type: "Grid Average/Location Based",
  approach: "Market Based",
  amount: 100,
  units: "GJ",
  gwp_dataset_revision: "2007 IPCC Fifth Assessment"
};

fetch("https://api2.dynmhx.io/corporate/electricity", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/electricity"

payload = json.dumps({
  "facility_id": 1,
  "year": 2018,
  "emission_factor_type": "Grid Average/Location Based",
  "approach": "Market Based",
  "amount": 100,
  "units": "GJ",
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/corporate/electricity";
  $ch = curl_init($url);
  $postData = array(
    "facility_id"=> 1,
    "year"=> 2018,
    "emission_factor_type"=> "Grid Average/Location Based",
    "approach"=> "Market Based",
    "amount"=> 100,
    "units"=> "GJ",
    "gwp_dataset_revision"=> "2007 IPCC Fifth Assessment"
    );

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "type": "Electricity",
  "biofuel_c02_tonnes": 0.011454356557703015,
  "c02_tonnes": 0.0,
  "c02e_tonnes": 1.4155457130358705e-5,
  "ch4_tonnes": 3.2932673188578697e-8,
  "ef_kg_c02e": 0.18456781,
  "n20_tonnes": 4.473872584108805e-8,
  "scope": 2

}

Electricity and other sources of energy purchased from your local utility (that is not combusted on-site). Examples include electricity, steam, and chilled or hot water. To generate this energy, utilities combust coal, natural gas, and other fossil fuels, emitting carbon dioxide, methane, and nitrous oxide in the process.

POST https://api2.dynmhx.io/corporate/electricity

Param Type Required Description
facility_id string required Id of the facility selected. e.g 5.
year integer required Selected year for the row. e.g 2018.
amount float required Fuel amount entered for the row.
units string required Selected unit of measurement. e.g kWh.
emission_factor_type string required Type of emission factor selected. Can be either Residual Mix, Location Based, Market Based, Grid Average or Custom Emission Factor.
approach string required Calculation approach selected
gwp_dataset_revision string required The selected GWP dataset revision e.g 2014 IPCC Fifth Assessment.
Grid Region Grid Region Grid Region
AKGD AKMS AZNM
CAMX ERCT FRCC
HIMS HIOA MROE
MROW NEWE NWPP
NYCW NYLI NYUP
RFCE RFCM RFCW
RMPA SPNO SPSO
SRMV SRMW SRSO
SRTV SRVC U.S.
CA Newfoundland and Labrador Prince Edward Island
Nova Scotia New Brunswick Quebec
Ontario Manitoba Saskatchewan
Alberta British Columbia Yukon
Northwest Territories and Nunavut New South Wales and ACT Victoria
Queensland South Australia SWIS in Western Australia
Tasmania Northern Territory North China Grid
China Northeast Grid East China Grid China Grid
China Northwest Grid China Southern Grid Hainan Province China Power Grid
eGrid Subregion eGrid Subregion eGrid Subregion
AKGD AKMS AZNM
CAMX ERCT FRCC
HIMS HIOA MROE
MROW NEWE NWPP
NYCW NYLI NYUP
RFCE RFCM RFCW
SPSO SRMV SRMW
SRSO SRTV SRVC
Newfoundland and Labrador Quebec Ontario
Manitoba Saskatchewan Alberta
British Columbia Austria Belgium
Bulgaria Croatia Cyprus
Czech Republic Denmark Estonia
Finland France Germany
United Kingdom Greece Hungary
Iceland Ireland Italy
Latvia Lithuania Luxembourg
Malta Netherlands Norway
Poland Portugal Romania
Slovakia Slovenia Spain
Sweden Switzerland

Waste Reduction Waste

Waste Reduction

curl --location --request POST 'https://api2.dynmhx.io/corporate/waste-reduction' \
--header 'Content-Type: application/json' \
--data-raw '{
    "material_type": "wood waste",
    "input": 20
}'
const fetch = require("node-fetch");

const data = {
  material_type: "wood waste",
  input: 20,
};

fetch("https://api2.dynmhx.io/corporate/waste-reduction", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/waste-reduction"

payload={
  "material_type": "wood waste",
  "input": 20,
}

headers = {'Content-Type': 'application/json'}

response = requests.post(url, headers=headers, data=json.dumps(payload))

data = response.json()
print(data)

<?php
  $url = "https://api2.dynmhx.io/corporate/waste-reduction";
  $ch = curl_init($url);
  $postData = array(
    "material_type" => "wood waste",
    "input" => 20
  );

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump(json_encode($postData));
?>

RESPONSE : 200

{
  "type": "Waste Reduction",
  "GHGS_MONTH": 39.0,
  "NO_OF_CARS": 101.03626943005182
}

This endpoint deals with solutions. it estimates the impact of your waste reduction practices, expressed in tons of carbon dioxide saved, or cars taken off the road.

Each time you recycle or compost materials instead of discarding them, you help reduce greenhouse gas (GHG) emissions and protect the climate. Over time these emission reductions add up to significant amounts! In fact, GHG reductions from recycling and composting are often so considerable that they can be compared to avoided tailpipe emissions from vehicles, or cars taken off the road.

POST https://api2.dynmhx.io/corporate/waste-reduction

Param Type Required Description
material_type string true fuel type to be recycled
input number true no of tons/month of fuel type to be converted
process_type string false processing type can be either Recycling or Composting

Transportation Corporate Transportation

Mobile Combustion Mobile Combustion

Mobile Combustion

curl --location --request POST 'https://api2.dynmhx.io/corporate/mobile-combustion' \
--header 'Content-Type: application/json' \
--data-raw '{
    "facility_id": 1,
    "year": 2019,
    "fuel_source": "Biodiesel (100%)",
    "vehicle_type": "Biodiesel Light-duty Vehicles",
    "amount": 100,
    "units": "scf",
    "activity_type": "Fuel Use",
    "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
}'
const fetch = require("node-fetch");
const data = {
  facility_id: 1,
  year: 2019,
  fuel_source: "Biodiesel (100%)",
  vehicle_type: "Biodiesel Light-duty Vehicles",
  amount: 100,
  units: "scf",
  activity_type: "Fuel Use",
  gwp_dataset_revision: "2014 IPCC Fifth Assessment"
};

fetch("https://api2.dynmhx.io/corporate/mobile-combustion", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/mobile-combustion"

payload = json.dumps({
  "facility_id": 1,
  "year": 2019,
  "fuel_source": "Biodiesel (100%)",
  "vehicle_type": "Biodiesel Light-duty Vehicles",
  "amount": 100,
  "units": "scf",
  "activity_type": "Fuel Use",
  "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/corporate/mobile-combustion";
  $ch = curl_init($url);
  $postData = array(
    "facility_id"=> 1,
    "year"=> 2019,
    "fuel_source"=> "Biodiesel (100%)",
    "vehicle_type"=> "Biodiesel Light-duty Vehicles",
    "amount"=> 100,
    "units"=> "scf",
    "activity_type"=> "Fuel Use",
    "gwp_dataset_revision"=> "2014 IPCC Fifth Assessment"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "type": "Mobile Combustion",
  "biofuel_c02_tonnes": 7.069,
  "c02_tonnes": 0.0,
  "c02e_tonnes": 0.003,
  "ch4_tonnes": 6e-6,
  "ef_kg_c02e": 0.0045198,
  "n20_tonnes": 1.2e-5,
  "scope": 1
}

Includes fuel consumption by vehicles that are owned or leased by the company. Combustion of fossil fuels in vehicles (including cars, trucks, planes, and boats) emits carbon dioxide, methane, and nitrous oxide into the atmosphere.

POST https://api2.dynmhx.io/corporate/mobile-combustion

Param Type Required Description
facility_id string true Id of the facility selected. e.g 5
year integer true Selected year for the row. e.g 2018
fuel_source string true Source of fuel for the mobile combustion row. e.g Motor Gasoline
vehicle_type string true The type of vehicle used. e.g Gasoline Passenger Cars
amount float true Fuel amount entered for the row.
units string true Selected unit of measurement. This is based on activity_type. Fuel Use options: [ gal (US), litre, bbl, scf, ccf, m3, kWh]. Distance Activity options: [nautical mile, km, mile]
activity_type string true The activity type under which the row entry falls under. Can be either Fuel Use, Distance Activity or Custom Emission Factor.
gwp_dataset_revision string true The selected GWP dataset revision e.g 2014 IPCC Fifth Assessment

Business Travel Waste

Business Travel

curl --location --request POST 'https://api2.dynmhx.io/corporate/business-travel' \
--header 'Content-Type: application/json' \
--data-raw '{
    "facility_id": 1,
    "year": 2019,
    "emission_dataset": "UK DEFRA",
    "vehicle_type": "Average Car - Plug-in Hybrid Electric Vehicle",
    "amount": 100,
    "units": "km",
    "activity_type": "Distance",
    "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
}'
const fetch = require("node-fetch");
const data = {
  facility_id: 1,
  year: 2019,
  emission_dataset: "UK DEFRA",
  vehicle_type: "Average Car - Plug-in Hybrid Electric Vehicle",
  amount: 100,
  units: "km",
  activity_type: "Distance",
  gwp_dataset_revision: "2007 IPCC Fifth Assessment"
};

fetch("https://api2.dynmhx.io/corporate/business-travel", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/business-travel"

payload = json.dumps({
  "facility_id": 1,
  "year": 2019,
  "emission_dataset": "UK DEFRA",
  "vehicle_type": "Average Car - Plug-in Hybrid Electric Vehicle",
  "amount": 100,
  "units": "km",
  "activity_type": "Distance",
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/corporate/business-travel";
  $ch = curl_init($url);
  $postData = array(
    "facility_id"=> 1,
    "year"=> 2019,
    "emission_dataset"=> "UK DEFRA",
    "vehicle_type"=> "Average Car - Plug-in Hybrid Electric Vehicle",
    "amount"=> 100,
    "units"=> "km",
    "activity_type"=> "Distance",
    "gwp_dataset_revision"=> "2007 IPCC Fifth Assessment"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "type": "Business Travel",
  "biofuel_c02_tonnes": 0.011454356557703015,
  "c02_tonnes": 0.0,
  "c02e_tonnes": 1.4155457130358705e-5,
  "ch4_tonnes": 3.2932673188578697e-8,
  "ef_kg_c02e": 0.18456781,
  "n20_tonnes": 4.473872584108805e-8,
  "scope": 3
}

Fuel consumption by vehicles used to conduct company-financed travel. Examples include commercial air travel and use of rented vehicles during business trips (travel using company-owned/leased vehicles are included in Scope 1).

POST https://api2.dynmhx.io/corporate/business-travel

Param Type Required Description
facility_id string true Id of the facility selected. e.g 5
year integer true Selected year for the row. e.g 2018
amount float true Fuel amount entered for the row.
units string true Selected unit of measurement. This is based on activity_type. Passenger Distance options: [passenger-mile, passenger-km]. Distance options: [mile, km]. Vehicle Distance options: [vehicle-mile, vehicle-km]. Weight Distance options: [tonne-mile, tonne-km]
emission_dataset string true Emission factors database including emission factors for EPA(US based) and DEFRA(UK Based)
vehicle_type string true The type of vehicle used. e.g for Car mode, Average Car - Diesel.
activity_type string true The activity type under which the row entry falls under. Can be either Fuel Use, Distance Activity or Custom Emission Factor.
gwp_dataset_revision string true The selected GWP dataset revision e.g 2014 IPCC Fifth Assessment

Employee Commute Waste

Employee Commute

curl --location --request POST 'https://api2.dynmhx.io/corporate/employee-commute' \
--header 'Content-Type: application/json' \
--data-raw '{
    "facility_id": 1,
    "year": 2019,
    "emission_dataset": "UK DEFRA",
    "vehicle_type": "Average Car - Plug-in Hybrid Electric Vehicle",
    "amount": 100,
    "units": "km",
    "activity_type": "Distance",
    "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
}'
const fetch = require("node-fetch");
const data = {
  facility_id: 1,
  year: 2019,
  emission_dataset: "UK DEFRA",
  vehicle_type: "Average Car - Plug-in Hybrid Electric Vehicle",
  amount: 100,
  units: "km",
  activity_type: "Distance",
  gwp_dataset_revision: "2007 IPCC Fifth Assessment"
};

fetch("https://api2.dynmhx.io/corporate/employee-commute", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/employee-commute"

payload = json.dumps({
  "facility_id": 1,
  "year": 2019,
  "emission_dataset": "UK DEFRA",
  "vehicle_type": "Average Car - Plug-in Hybrid Electric Vehicle",
  "amount": 100,
  "units": "km",
  "activity_type": "Distance",
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/corporate/employee-commute";
  $ch = curl_init($url);
  $postData = array(
    "facility_id"=> 1,
    "year"=> 2019,
    "emission_dataset"=> "UK DEFRA",
    "vehicle_type"=> "Average Car - Plug-in Hybrid Electric Vehicle",
    "amount"=> 100,
    "units"=> "km",
    "activity_type"=> "Distance",
    "gwp_dataset_revision"=> "2007 IPCC Fifth Assessment"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "type": "Employee Commute",
  "biofuel_c02_tonnes": 0.011454356557703015,
  "c02_tonnes": 0.0,
  "c02e_tonnes": 1.4155457130358705e-5,
  "ch4_tonnes": 3.2932673188578697e-8,
  "ef_kg_c02e": 0.18456781,
  "n20_tonnes": 4.473872584108805e-8,
  "scope": 3
}

Fuel consumption by vehicles used to conduct company-financed travel. Examples include commercial air travel and use of rented vehicles during business trips (travel using company-owned/leased vehicles are included in Scope 1).

POST https://api2.dynmhx.io/corporate/employee-commute

Param Type Required Description
facility_id string true Id of the facility selected. e.g 5
year integer true Selected year for the row. e.g 2018
amount float true Fuel amount entered for the row.
units string true Selected unit of measurement. This is based on activity_type. Passenger Distance options: [passenger-mile, passenger-km]. Distance options: [mile, km]. Vehicle Distance options: [vehicle-mile, vehicle-km]. Weight Distance options: [tonne-mile, tonne-km]
emission_dataset string true Emission factors database including emission factors for EPA(US based) and DEFRA(UK Based)
vehicle_type string true The type of vehicle used. e.g for Car mode, Average Car - Diesel.
activity_type string true The activity type under which the row entry falls under. Can be either Fuel Use, Distance Activity or Custom Emission Factor.
gwp_dataset_revision string true The selected GWP dataset revision e.g 2014 IPCC Fifth Assessment

Transport and Distribution Waste

Transport and Distribution

curl --location --request POST 'https://api2.dynmhx.io/corporate/transport-distribute' \
--header 'Content-Type: application/json' \
--data-raw '{
    "facility_id": 1,
    "year": 2019,
    "emission_dataset": "UK DEFRA",
    "vehicle_type": "Average Car - Plug-in Hybrid Electric Vehicle",
    "amount": 100,
    "units": "km",
    "activity_type": "Distance",
    "type": "Transportation",
    "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
}'
const fetch = require("node-fetch");
const data = {
  facility_id: 1,
  year: 2019,
  emission_dataset: "UK DEFRA",
  vehicle_type: "Average Car - Plug-in Hybrid Electric Vehicle",
  amount: 100,
  units: "km",
  activity_type: "Distance",
  gwp_dataset_revision: "2007 IPCC Fifth Assessment"
};

fetch("https://api2.dynmhx.io/corporate/transport-distribute", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/transport-distribute"

payload = json.dumps({
  "facility_id": 1,
  "year": 2019,
  "emission_dataset": "UK DEFRA",
  "vehicle_type": "Average Car - Plug-in Hybrid Electric Vehicle",
  "amount": 100,
  "units": "km",
  "activity_type": "Distance",
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/corporate/transport-distribute";
  $ch = curl_init($url);
  $postData = array(
    "facility_id"=> 1,
    "year"=> 2019,
    "emission_dataset"=> "UK DEFRA",
    "vehicle_type"=> "Average Car - Plug-in Hybrid Electric Vehicle",
    "amount"=> 100,
    "units"=> "km",
    "activity_type"=> "Distance",
    "gwp_dataset_revision"=> "2007 IPCC Fifth Assessment"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "type": "Transport and Distribution",
  "biofuel_c02_tonnes": 0.011454356557703015,
  "c02_tonnes": 0.0,
  "c02e_tonnes": 1.4155457130358705e-5,
  "ch4_tonnes": 3.2932673188578697e-8,
  "ef_kg_c02e": 0.18456781,
  "n20_tonnes": 4.473872584108805e-8,
  "scope": 3
}

Fuel consumption by vehicles used to conduct company-financed travel. Examples include commercial air travel and use of rented vehicles during business trips (travel using company-owned/leased vehicles are included in Scope 1).

POST https://api2.dynmhx.io/corporate/transport-distribute

Param Type Required Description
facility_id string true Id of the facility selected. e.g 5
year integer true Selected year for the row. e.g 2018
amount float true Fuel amount entered for the row.
units string true Selected unit of measurement. This is based on activity_type. Passenger Distance options: [passenger-mile, passenger-km]. Distance options: [mile, km]. Vehicle Distance options: [vehicle-mile, vehicle-km]. Weight Distance options: [tonne-mile, tonne-km]
emission_dataset string true Emission factors database including emission factors for EPA(US based) and DEFRA(UK Based)
vehicle_type string true The type of vehicle used. e.g for Car mode, Average Car - Diesel.
activity_type string true The activity type under which the row entry falls under. Can be either Fuel Use, Distance Activity or Custom Emission Factor.
gwp_dataset_revision string true The selected GWP dataset revision e.g 2014 IPCC Fifth Assessment

Other Indirect Emissions (Scope 3)

Purchased Goods & Services

Purchased Goods and Services

curl --location --request POST 'https://api2.dynmhx.io/corporate/purchased-goods-services' \
--header 'Content-Type: application/json' \
--data-raw '{
  "facility_id": 1,
  "year": 2019,
  "commodity_type": "Food and beverage and tobacco products",
  "vendor_id": 12412434,
  "amount": 1000,
  "units": "dollars ($)",
  "activity_type": "Purchased goods & services",
  "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
}'
const fetch = require("node-fetch");
const data = {
  "facility_id": 1,
  "year": 2019,
  "commodity_type": "Food and beverage and tobacco products",
  "vendor_id": 12412434,
  "amount": 1000,
  "units": "dollars ($)",
  "activity_type": "Purchased goods & services",
  "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
};

fetch("https://api2.dynmhx.io/corporate/purchased-goods-services", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/purchased-goods-services"

payload = json.dumps({
  "facility_id": 1,
  "year": 2019,
  "commodity_type": "Food and beverage and tobacco products",
  "vendor_id": 12412434,
  "amount": 1000,
  "units": "dollars ($)",
  "activity_type": "Purchased goods & services"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/corporate/purchased-goods-services"; //new endpoint
  $ch = curl_init($url);
  $postData = array(
    "facility_id" => 1,
    "year"=> 2019,
    "commodity_type" => "Food and beverage and tobacco products",
    "vendor_id" => 12412434, //if there is a vendor id match, different emission factors from DB, see line 49
    "amount" => 1000,
    "units" => "dollars ($)",
    "activity_type" => "Purchased goods & services", //can also be for "capital goods"
    "gwp_dataset_revision" => "2014 IPCC Fifth Assessment"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "type": "Purchased Goods and Services",
  "biofuel_c02_tonnes": 0.0, //actually in kg, not tonnes, but you get the idea
  "c02_tonnes": 317,
  "c02e_tonnes": 333,
  "ch4_tonnes": 8,
  "ef_kg_c02e_per_$": 0.333,
  "n20_tonnes": 1,
  "other_tonnes": 7,
}

Capital Goods

Capital Goods

curl --location --request POST 'https://api2.dynmhx.io/corporate/capital-goods' \
--header 'Content-Type: application/json' \
--data-raw '{
  "facility_id": 1,
  "year": 2019,
  "commodity_type": "Food and beverage and tobacco products",
  "vendor_id": 12412434,
  "amount": 1000,
  "units": "dollars ($)",
  "activity_type": "Purchased goods & services",
  "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
}'
const fetch = require("node-fetch");
const data = {
  "facility_id": 1,
  "year": 2019,
  "commodity_type": "Food and beverage and tobacco products",
  "vendor_id": 12412434,
  "amount": 1000,
  "units": "dollars ($)",
  "activity_type": "Purchased goods & services",
  "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
};

fetch("https://api2.dynmhx.io/corporate/capital-goods", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/capital-goods"

payload = json.dumps({
  "facility_id": 1,
  "year": 2019,
  "commodity_type": "Food and beverage and tobacco products",
  "vendor_id": 12412434,
  "amount": 1000,
  "units": "dollars ($)",
  "activity_type": "Purchased goods & services",
  "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/corporate/capital-goods"; //new endpoint
  $ch = curl_init($url);
  $postData = array(
    "facility_id" => 1,
    "year"=> 2019,
    "commodity_type" => "Food and beverage and tobacco products",
    "vendor_id" => 12412434, //if there is a vendor id match, different emission factors from DB, see line 49
    "amount" => 1000,
    "units" => "dollars ($)",
    "activity_type" => "Capital goods", //can also be for "capital goods"
    "gwp_dataset_revision" => "2014 IPCC Fifth Assessment"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "type": "Purchased Goods and Services",
  "biofuel_c02_tonnes": 0.0, //actually in kg, not tonnes, but you get the idea
  "c02_tonnes": 317,
  "c02e_tonnes": 333,
  "ch4_tonnes": 8,
  "ef_kg_c02e_per_$": 0.333,
  "n20_tonnes": 1,
  "other_tonnes": 7,
}

Leased Assets

When facility or asset ownership is set to leased, it is counted as “Scope 3 - Leased Assets”. An additional upstream or downstream flag is required. This asset can be either facility or equipment (vehicle). The account_id entering this in, would need to identify as the lessor or lessee, for the reporting time period.

Leased Assets

curl --location --request POST 'https://api2.dynmhx.io/corporate/leased-assets' \
--header 'Content-Type: application/json' \
--data-raw '{
"facility_id": 1,
"ownership": "leased",
"value_chain": "upstream",
"year": 2018,
"emission_factor_type": "Grid Average/Location Based",
"fuel_type": "Purchased Electricity - Market Based",
"amount": 100,
"units": "GJ",
"gwp_dataset_revision": "2007 IPCC Fifth Assessment",
"fuel_source": "Biodiesel (100%)",
"vehicle_type": "Biodiesel Light-duty Vehicles",
"activity_type": "Fuel Use"
}'
const fetch = require("node-fetch");
const data = {
  "facility_id": 1,
  "ownership": "leased",
  "value_chain": "upstream",
  "year": 2018,
  "emission_factor_type": "Grid Average/Location Based",
  "fuel_type": "Purchased Electricity - Market Based",
  "amount": 100,
  "units": "GJ",
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment",
  "fuel_source": "Biodiesel (100%)",
  "vehicle_type": "Biodiesel Light-duty Vehicles",
  "activity_type": "Fuel Use"
};

fetch("https://api2.dynmhx.io/corporate/leased-assets", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/leased-assets"

payload = json.dumps({
  "facility_id": 1,
  "ownership": "leased",
  "value_chain": "upstream",
  "year": 2018,
  "emission_factor_type": "Grid Average/Location Based",
  "fuel_type": "Purchased Electricity - Market Based",
  "amount": 100,
  "units": "GJ",
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment",
  "fuel_source": "Biodiesel (100%)",
  "vehicle_type": "Biodiesel Light-duty Vehicles",
  "activity_type": "Fuel Use"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
$url = "https://api2.dynmhx.io/corporate/leased-assets";
  $ch = curl_init($url);
  $postData = array(
    "facility_id"=> 1,
    "ownership" => "leased", //if it is set to investments, it will be /investments endpoint, or set to franchises, /franchises
    "value_chain" => "upstream", //can also be upstream => TRUE, so FALSE will be downstream (only for leased, does not exist for franchise or investments)
    "year"=> 2018,
    "emission_factor_type"=> "Grid Average/Location Based",
    "fuel_type"=> "Purchased Electricity - Market Based",
    "amount"=> 100,
    "units"=> "GJ",
    "gwp_dataset_revision"=> "2007 IPCC Fifth Assessment",

    // like investments, we need to give them an option of picking a facility (above) or a vehicle (below) - should we do "type" => "Vehicle" or "Facility". So basically, either /mobile combustion or /transportation
    "fuel_source"=> "Biodiesel (100%)",
    "vehicle_type"=> "Biodiesel Light-duty Vehicles",
    "amount"=> 100,
    "units"=> "scf",
    "activity_type"=> "Fuel Use",
  );
  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);


Franchises

When facility or asset ownership is set to franchised, it is counted as “Scope 3 - Franchises”. This asset can be either facility or equipment (vehicle) or even organization_id. The account_id entering this in, would need to identify as the franchisor or franchisee, for the reporting time period.

Franchises

curl --location --request POST 'https://api2.dynmhx.io/corporate/franchises' \
--header 'Content-Type: application/json' \
--data-raw '{
  "facility_id": 1,
  "ownership": "franchised",
  "year": 2018,
  "emission_factor_type": "Grid Average/Location Based",
  "fuel_type": "Purchased Electricity - Market Based",
  "amount": 100,
  "units": "GJ",
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
}'
const fetch = require("node-fetch");
const data = {
  "facility_id": 1,
  "ownership": "franchised",
  "year": 2018,
  "emission_factor_type": "Grid Average/Location Based",
  "fuel_type": "Purchased Electricity - Market Based",
  "amount": 100,
  "units": "GJ",
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
};

fetch("https://api2.dynmhx.io/corporate/franchises", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/franchises"

payload = json.dumps({
  "facility_id": 1,
  "ownership": "franchised",
  "year": 2018,
  "emission_factor_type": "Grid Average/Location Based",
  "fuel_type": "Purchased Electricity - Market Based",
  "amount": 100,
  "units": "GJ",
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
  $url = "https://api2.dynmhx.io/corporate/franchises";
  $ch = curl_init($url);
  $postData = array(
  "facility_id"=> 1,
  "ownership" => "franchised", //if it is set to investments, or franchises, see other 2 endpoints
  "year"=> 2018,
  "emission_factor_type"=> "Grid Average/Location Based",
  "fuel_type"=> "Purchased Electricity - Market Based",
  "amount"=> 100,
  "units"=> "GJ",
  "gwp_dataset_revision"=> "2007 IPCC Fifth Assessment"
  );

Investments

When facility or asset ownership is set to financed, it is counted as “Scope 3 - Investments” an additional finance_type flag is required. This asset can be either facility or equipment (vehicle) or even organization_id. The account_id entering this in, would need to identify as the financier or borrower, for the reporting time period.

Investments

curl --location --request POST 'https://api2.dynmhx.io/corporate/investments' \
--header 'Content-Type: application/json' \
--data-raw '{
  "facility_id": 1,
  "ownership": "investments",
  "asset_class": "commercial_real_estate",
  "year": 2018,
  "emission_factor_type": "Grid Average/Location Based",
  "fuel_type": "Purchased Electricity - Market Based",
  "amount": 100,
  "units": "GJ",
  "attribution": 0.8,
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
}'
const fetch = require("node-fetch");
const data = {
  "facility_id": 1,
  "ownership": "investments",
  "asset_class": "commercial_real_estate",
  "year": 2018,
  "emission_factor_type": "Grid Average/Location Based",
  "fuel_type": "Purchased Electricity - Market Based",
  "amount": 100,
  "units": "GJ",
  "attribution": 0.8,
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
};

fetch("https://api2.dynmhx.io/corporate/investments", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/investments"

payload = json.dumps({
  "facility_id": 1,
  "ownership": "investments",
  "asset_class": "commercial_real_estate",
  "year": 2018,
  "emission_factor_type": "Grid Average/Location Based",
  "fuel_type": "Purchased Electricity - Market Based",
  "amount": 100,
  "units": "GJ",
  "attribution": 0.8,
  "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
  $url = "https://api2.dynmhx.io/corporate/investments";
  $ch = curl_init($url);
  $postData = array(
    "facility_id"=> 1,
    "ownership" => "investments",
    "asset_class" => "commercial_real_estate" //We have a list of values this can take, will share soon
    "year"=> 2018,
    "emission_factor_type"=> "Grid Average/Location Based", //this goes away if not-electricity, but other stationary/mobile combustion
    "fuel_type"=> "Purchased Electricity - Market Based",
    "amount"=> 100,
    "units"=> "GJ",
    "attribution" => 0.8,
    "gwp_dataset_revision"=> "2007 IPCC Fifth Assessment"
    );

    //we need to give them an option of picking a facility (above) or a vehicle (below) - should we do "type" => "Vehicle" or "Facility". So basically, either /mobile combustion or /transportation
    "fuel_source"=> "Biodiesel (100%)",
    "vehicle_type"=> "Biodiesel Light-duty Vehicles",
    "amount"=> 100,
    "units"=> "scf",
    "activity_type"=> "Fuel Use",

Results Summary

Results Summary

curl --location --request POST 'https://api2.dynmhx.io/corporate/summary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "stationary_combustion": [{
        "facility_id": 1,
        "year": 2018,
        "fuel_type": "Coal Coke",
        "amount": 1000,
        "units": "kWh",
        "activity_type": "Stationary Combustion",
        "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
        }
        ],
    "mobile_combustion": [{
        "facility_id": 1,
        "year": 2018,
        "fuel_source": "Motor Gasoline",
        "vehicle_type": "Gasoline Passenger Cars",
        "amount": 100,
        "units": "mile",
        "activity_type": "Distance Activity",
        "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
    }],
    "employee_commute": [{
        "facility_id": 1,
        "year": 2019,
        "emission_dataset": "US EPA",
        "vehicle_type": "Air Travel - Short Haul (< 300 miles)",
        "amount": 10,
        "units": "mile",
        "activity_type": "Passenger Distance",
                 "mode_of_transport": "air",
        "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
    }],
    "business_travel": [{
        "facility_id": 1,
        "year": 2019,
        "emission_dataset": "US EPA",
        "vehicle_type": "Air Travel - Short Haul (< 300 miles)",
        "amount": 10,
        "units": "mile",
        "activity_type": "Passenger Distance",
              "mode_of_transport": "air",
        "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
    }],
    "transportation_and_distribution": [{
        "facility_id": 1,
        "year": 2019,
        "emission_dataset": "US EPA",
        "vehicle_type": "Air Travel - Short Haul (< 300 miles)",
        "amount": 10,
        "units": "mile",
        "activity_type": "Passenger Distance",
              "mode_of_transport": "air",
        "gwp_dataset_revision": "2014 IPCC Fifth Assessment"
    }],
    "electricity": [
        {
            "facility_id": 1,
            "year": 2018,
            "emission_factor_type": "Grid Average/Location Based",
            "amount": 100,
            "units": "GJ",
                        "approach": "Market Based",
            "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
        }
    ],
    "refrigerants": [
        {
            "year": 2018,
            "facility_id": 1,
            "refrigerant": "Methane",
            "calculation_method": "Sales Approach (Product)",
            "equipment_type": "",
            "inventory_start": 50,
            "inventory_end": 1,
            "purchased": 0,
            "gwp_dataset_revision": "2007 IPCC Fifth Assessment"
        }
    ],
    "disaggregation_boundary": "Facility",
    "inventory_data": [
        {"inventory_year": 2018},
        {"inventory_year": 2019},
        {"inventory_year": 2020},
        {"inventory_year": 2021}
    ]
}'
const fetch = require("node-fetch");
const data = {
  stationary_combustion: [
    {
      facility_id: 1,
      year: 2018,
      fuel_type: "Coal Coke",
      amount: 1000,
      units: "kWh",
      activity_type: "Stationary Combustion",
      gwp_dataset_revision: "2014 IPCC Fifth Assessment"

    },
  ],
  mobile_combustion: [
    {
      facility_id: 1,
      year: 2018,
      fuel_source: "Motor Gasoline",
      vehicle_type: "Gasoline Passenger Cars",
      amount: 100,
      units: "mile",
      activity_type: "Distance Activity",
      gwp_dataset_revision: "2014 IPCC Fifth Assessment"

    },
  ],
  business_travel: [
    {
      facility_id: 1,
      year: 2019,
      emission_dataset: "US EPA",
      vehicle_type: "Air Travel - Short Haul (< 300 miles)",
      amount: 10,
      units: "mile",
      activity_type: "Passenger Distance",
      mode_of_transport: "air",
      gwp_dataset_revision: "2014 IPCC Fifth Assessment"
    },
  ],
  employee_commute: [
    {
      facility_id: 1,
      year: 2019,
      emission_dataset: "US EPA",
      vehicle_type: "Air Travel - Short Haul (< 300 miles)",
      amount: 10,
      units: "mile",
      activity_type: "Passenger Distance",
      mode_of_transport: "air",
      gwp_dataset_revision: "2014 IPCC Fifth Assessment"
    },
  ],
  transportion_and_distribution: [
    {
      facility_id: 1,
      year: 2019,
      emission_dataset: "US EPA",
      vehicle_type: "Air Travel - Short Haul (< 300 miles)",
      amount: 10,
      units: "mile",
      activity_type: "Passenger Distance",
      mode_of_transport: "air",
      gwp_dataset_revision: "2014 IPCC Fifth Assessment"
    },
  ],
  electricity: [
    {
      facility_id: 1,
      year: 2018,
      emission_factor_type: "Grid Average/Location Based",
      approach: "Market Based",
      amount: 100,
      units: "GJ",
      gwp_dataset_revision: "2007 IPCC Fifth Assessment"
    },
  ],
  refrigerants: [
    {
      year: 2018,
      facility_id: 1,
      refrigerant: "Methane",
      calculation_method: "Sales Approach (Product)",
      equipment_type: "",
      inventory_start: 50,
      inventory_end: 1,
      purchased: 0,
      gwp_dataset_revision: "2007 IPCC Fifth Assessment"

    },
  ],
  disaggregation_boundary: "Facility",
  inventory_data: [
    {
      inventory_year: 2018,
    },
    {
      inventory_year: 2019,
    },
    {
      inventory_year: 2020,
    },
    {
      inventory_year: 2021,
    },
  ],
};

fetch("https://api2.dynmhx.io/corporate/summary", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/corporate/summary"

payload = json.dumps({
  "stationary_combustion": [
    {
      "facility_id": 1,
      "year": 2018,
      "fuel_type": "Coal Coke",
      "amount": 1000,
      "units": "kWh",
      "activity_type": "Stationary Combustion",
      "gwp_dataset_revision": "2014 IPCC Fifth Assessment"

    }
  ],
  "mobile_combustion": [
    {
      "facility_id": 1,
      "year": 2018,
      "fuel_source": "Motor Gasoline",
      "vehicle_type": "Gasoline Passenger Cars",
      "amount": 100,
      "units": "mile",
      "activity_type": "Distance Activity",
      "gwp_dataset_revision": "2014 IPCC Fifth Assessment"

    }
  ],
  "business_travel": [
    {
      "facility_id": 1,
      "year": 2019,
      "emission_dataset": "US EPA",
      "vehicle_type": "Air Travel - Short Haul (< 300 miles)",
      "amount": 10,
      "units": "mile",
      "activity_type": "Passenger Distance",
      "mode_of_transport": "air",
      "gwp_dataset_revision": "2014 IPCC Fifth Assessment"

    }
  ],
  "employee_commute": [
    {
      "facility_id": 1,
      "year": 2019,
      "emission_dataset": "US EPA",
      "vehicle_type": "Air Travel - Short Haul (< 300 miles)",
      "amount": 10,
      "units": "mile",
      "activity_type": "Passenger Distance",
      "mode_of_transport": "air",
      "gwp_dataset_revision": "2014 IPCC Fifth Assessment"

    }
  ],
  "transportation_and_distribution": [
    {
      "facility_id": 1,
      "year": 2019,
      "emission_dataset": "US EPA",
      "vehicle_type": "Air Travel - Short Haul (< 300 miles)",
      "amount": 10,
      "units": "mile",
      "activity_type": "Passenger Distance",
      "mode_of_transport": "air",
      "gwp_dataset_revision": "2014 IPCC Fifth Assessment"

    }
  ],
  "electricity": [
    {
      "facility_id": 1,
      "year": 2018,
      "emission_factor_type": "Grid Average/Location Based",
      "approach": "Market Based",
      "amount": 100,
      "units": "GJ",
      "gwp_dataset_revision": "2007 IPCC Fifth Assessment",
    }
  ],
  "refrigerants": [
    {
      "year": 2018,
      "facility_id": 1,
      "refrigerant": "Methane",
      "calculation_method": "Sales Approach (Product)",
      "equipment_type": "",
      "inventory_start": 50,
      "inventory_end": 1,
      "purchased": 0,
      "gwp_dataset_revision": "2007 IPCC Fifth Assessment",
    }
  ],
  "disaggregation_boundary": "Facility",
  "inventory_data": [
    {
      "inventory_year": 2018
    },
    {
      "inventory_year": 2019
    },
    {
      "inventory_year": 2020
    },
    {
      "inventory_year": 2021
    }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/corporate/summary";
  $ch = curl_init($url);
  $postData = array(
    "stationary_combustion"=> [
        [
            "facility_id"=> 1,
            "year"=> 2018,
            "fuel_type"=> "Coal Coke",
            "amount"=> 1000,
            "units"=> "kWh",
            "activity_type"=> "Stationary Combustion",
            "gwp_dataset_revision"=> "2014 IPCC Fifth Assessment"

        ]
    ],
    "mobile_combustion"=> [
        [
            "facility_id"=> 1,
            "year"=> 2018,
            "fuel_source"=> "Motor Gasoline",
            "vehicle_type"=> "Gasoline Passenger Cars",
            "amount"=> 100,
            "units"=> "mile",
            "activity_type"=> "Distance Activity",
            "gwp_dataset_revision"=> "2014 IPCC Fifth Assessment"

        ]
    ],
    "business_travel"=> [
        [
            "facility_id"=> 1,
            "year"=> 2019,
            "emission_dataset"=> "US EPA",
            "vehicle_type"=> "Air Travel - Short Haul (< 300 miles)",
            "amount"=> 10,
            "units"=> "mile",
            "activity_type"=> "Passenger Distance",
            "mode_of_transport"=> "air",
            "gwp_dataset_revision"=> "2014 IPCC Fifth Assessment"
        ]
    ],
    "employee_commute"=> [
        [
            "facility_id"=> 1,
            "year"=> 2019,
            "emission_dataset"=> "US EPA",
            "vehicle_type"=> "Air Travel - Short Haul (< 300 miles)",
            "amount"=> 10,
            "units"=> "mile",
            "activity_type"=> "Passenger Distance",
            "mode_of_transport"=> "air",
            "gwp_dataset_revision"=> "2014 IPCC Fifth Assessment"
        ]
    ],
    "transport_and_distribution"=> [
        [
            "facility_id"=> 1,
            "year"=> 2019,
            "emission_dataset"=> "US EPA",
            "vehicle_type"=> "Air Travel - Short Haul (< 300 miles)",
            "amount"=> 10,
            "units"=> "mile",
            "activity_type"=> "Passenger Distance",
            "mode_of_transport"=> "air",
            "gwp_dataset_revision"=> "2014 IPCC Fifth Assessment"
        ]
    ],
    "electricity"=> [
        [
            "facility_id"=> 1,
            "year"=> 2018,
            "emission_factor_type"=> "Grid Average/Location Based",
            "approach"=> "Market Based",
            "amount"=> 100,
            "units"=> "GJ",
            "gwp_dataset_revision"=> "2007 IPCC Fifth Assessment"

        ]
    ],
    "refrigerants"=> [
        [
            "year"=> 2018,
            "facility_id"=> 1,
            "refrigerant"=> "Methane",
            "calculation_method"=> "Sales Approach (Product)",
            "equipment_type"=> "",
            "inventory_start"=> 50,
            "inventory_end"=> 1,
            "purchased"=> 0,
            "gwp_dataset_revision"=> "2007 IPCC Fifth Assessment"

        ]

    ],
    "disaggregation_boundary"=> "Facility",
    "inventory_data"=> [
        [
            "inventory_year"=> 2018
        ],
        [
            "inventory_year"=> 2019
        ],
        [
            "inventory_year"=> 2020
        ],
        [
            "inventory_year"=> 2021
        ]
    ]
 );

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "disaggregation": {
    "1": {
      "Scope 1": {
        "Mobile Combustion": {
          "2018": 0.0,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        },
        "Refrigerants/Fugitive Emissions": {
          "2018": 1.225,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        },
        "Stationary Combustion": {
          "2018": 0.390355827342494,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        }
      },
      "Scope 1(Biogenic)": {
        "2018": 0.0,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      },
      "Scope 2": {
        "Heat/Steam": {
          "2018": 0.0,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        },
        "Purchased Electricity - Location Based": {
          "2018": 0.0,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        },
        "Purchased Electricity - Market Based": {
          "2018": 13.16631238777778,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        }
      }
    },
    "2": {
      "Scope 1": {
        "Mobile Combustion": {
          "2018": 0.0,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        },
        "Refrigerants/Fugitive Emissions": {
          "2018": 1.225,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        },
        "Stationary Combustion": {
          "2018": 0.390355827342494,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        }
      },
      "Scope 1(Biogenic)": {
        "2018": 0.0,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      },
      "Scope 2": {
        "Heat/Steam": {
          "2018": 0.0,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        },
        "Purchased Electricity - Location Based": {
          "2018": 0.0,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        },
        "Purchased Electricity - Market Based": {
          "2018": 13.16631238777778,
          "2019": 0.0,
          "2020": 0.0,
          "2021": 0.0
        }
      }
    }
  },
  "results": {
    "Scope 1": {
      "Fugitive emissions from air-conditioning": {
        "2018": 1.225,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      },
      "Mobile Combustion": {
        "2018": 0.039,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      },
      "Stationary Combustion": {
        "2018": 0.390355827342494,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      },
      "total": {
        "2018": 1.654355827342494,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      }
    },
    "Scope 1(Biogenic)": {
      "2018": 0.0,
      "2019": 0.0,
      "2020": 0.0,
      "2021": 0.0
    },
    "Scope 2": {
      "Heat/Steam": {
        "2018": 0.0,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      },
      "Purchased Electricity - Location Based": {
        "2018": 0.0,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      },
      "Purchased Electricity - Market Based": {
        "2018": 13.16631238777778,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      },
      "Scope 2 - Location based + Heat/Steam": {
        "2018": 13.16631238777778,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      },
      "Scope 2 - Market based + Heat/Steam": {
        "2018": 0.0,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      }
    },
    "Scope 2(Biogenic)": {
      "2018": 0.0,
      "2019": 0.0,
      "2020": 0.0,
      "2021": 0.0
    },
    "Scope 3": {
      "Business Travel": {
        "2018": 0.0,
        "2019": 0.00227010675965,
        "2020": 0.0,
        "2021": 0.0
      },
      "Employee Commute": {
        "2018": 0.0,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      },
      "Upstream T&D": {
        "2018": 0.0,
        "2019": 0.0,
        "2020": 0.0,
        "2021": 0.0
      }
    },
    "Scope 3(Biogenic)": {
      "2018": 0.0,
      "2019": 0.0,
      "2020": 0.0,
      "2021": 0.0
    }
  }
}

Aggregates data for rows in all sheets above. Returns an overall emissions summary grouped by scope for each year in inventory data. Also returns a disaggregation of Scope 1 and 2 per either Facility or Country as entered in facilities data.

POST https://api2.dynmhx.io/corporate/summary

Param Type Required Description
stationary_combustion list required List of all stationary combustion rows and their fields.
mobile_combustion list required List of all mobile combustion rows and their fields.
business_travel list required List of all business travel rows and their fields
employee_commute list required List of all employee commute rows and their fields
transportation_and_distribution list required List of all transportation and distribution rows and their fields
electricity list required List of all electricity rows and their fields
refrigerants list required List of all refrigerant rows and their fields
disaggregation_boundary string required Type of disaggregation to be used. Can be either of Country or Facility
inventory_data list required List of inventory data entries with inventory information i.e inventory_year, start_date and end_date

Dropdowns

Dropdowns

curl --location --request POST 'http://api2.dynmhx.io/corporate/dropdowns' \
--header 'Content-Type: application/json' \
--data-raw '{
    "target": "mobile_combustion",
    "field": "vehicle_types",
    "cascading_fields": {
        "fuel_source": "Motor Gasoline"
    }
}'

import fetch from "node-fetch";
const data = {
    "target": "mobile_combustion",
    "field": "vehicle_types",
    "cascading_fields": {
      "fuel_source": "Motor Gasoline",
    }
};

 fetch(`https://api2.dynmhx.io/corporate/dropdowns`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "http://api2.dynmhx.io/corporate/dropdowns"

payload = json.dumps({
  "target": "mobile_combustion",
  "field": "vehicle_types",
  "cascading_fields": {
    "fuel_source": "Motor Gasoline"
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'http://api2.dynmhx.io/corporate/dropdowns',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "target": "mobile_combustion",
    "field": "vehicle_types",
    "cascading_fields": {
        "fuel_source": "Motor Gasoline"
    }
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

RESPONSE : 200

[
    "Gasoline Passenger Cars",
    "Gasoline Light-duty Trucks (Vans, Pickup Trucks, SUVs)",
    "Gasoline Heavy-duty Vehicles",
    "Hybrid (Gasoline) Passenger Cars",
    "Gasoline Agricultural EquipmentGasoline Ships and Boats",
    "Gasoline Motorcycles",
    "Other Gasoline Non-Road Vehicles"
]

This endpoint Should prevent manually declaring dropdown values in the UI since the endpoints are heavily data driven.

Most of the data is nested deeply and often child fields need to be filtered by a parent.

POST http://api2.dynmhx.io/corporate/dropdowns

Param Type Required Description
target string true Is the main category/entrypoint of the api section you are seeking dropdowns for. E.g stationary_energy, waste, afolu, etc
field string true Is the field name of the dropdown itself for. E.g stationary_energy it could be sub_categories, categories
cascading_fields dictionary optional Is the extra key-value pairs of the cascading fields needed to further lookup a field. E.g sub_categories for the stationary_energy have a cascading_fields_required as category. Therefore you will need to define this as {‘category’: “Your category”} for it to filter correctly. If a cascading_fields_required option is not defined this parameter is then not needed

Community Community

About

The Community API is designed to support cities in reporting city-wide GHG emissions according to GPC protocol.

Stationary Combustion Stationary Combustion

Stationary Combustion

curl --location --request POST 'https://api2.dynmhx.io/community/stationary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "gpc_ref": "I.1.1",
    "scope": "1",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "activity": "Biodiesels",
    "category": "I.1 RESIDENTIAL BUILDINGS",
    "sub_category": "Emissions from fuel combustion within the city boundary",
    "sub_category_option": "Residential (1.a.b)",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}'

import fetch from "node-fetch";
const data = {
  gpc_ref: "I.1.1",
  scope: "1",
  description: "Stationary Emissions for Biodiesels fuel type",
  activity: "Biodiesels",
  category: "I.1 RESIDENTIAL BUILDINGS",
  sub_category: "Emissions from fuel combustion within the city boundary",
  sub_category_option: "Residential (1.a.b)",
  notation_key: "NO",
  activity_amount: 1000,
  activity_units: "kWh",
  activity_multiplier_units: "kWh",
  activity_multiplier: null,
  oxidation_factor: 1,
  gases: "CO2",
  manual_emissions_data: false,
  emission_factor: "Biodiesels EF",
  CO2: null,
  CH4: null,
  total_CO2e: null,
  CO2b: null,
  N2O: null,
  data_quality: "L",
  methodology_description: "",
  source: "",
  data_quality_explanation: "",
  custom_emission_factors: [
    {
      activity: "Biodiesels",
      reference: "Biodiesels EF",
      type: "GHG",
      gwp: "4AR",
      unit_numerator: "kg",
      unit_denominator: "kWh",
      CO2: 1000,
      CH4: 100,
      N2O: 100,
      total_CO2e: 1000,
      CO2b: 100,
      data_quality: "",
      year: 2019,
      scale: "",
      description: "",
      source: "",
    },
  ],
};

fetch("https://api2.dynmhx.io/community/stationary", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/community/stationary"

payload = json.dumps({
  "gpc_ref": "I.1.1",
  "scope": "1",
  "description": "Stationary Emissions for Biodiesels fuel type",
  "activity": "Biodiesels",
  "category": "I.1 RESIDENTIAL BUILDINGS",
  "sub_category": "Emissions from fuel combustion within the city boundary",
  "sub_category_option": "Residential (1.a.b)",
  "notation_key": "NO",
  "activity_amount": 1000,
  "activity_units": "kWh",
  "activity_multiplier_units": "kWh",
  "activity_multiplier": None,
  "oxidation_factor": 1,
  "gases": "CO2",
  "manual_emissions_data": False,
  "emission_factor": "Biodiesels EF",
  "CO2": None,
  "CH4": None,
  "total_CO2e": None,
  "CO2b": None,
  "N2O": None,
  "data_quality": "L",
  "methodology_description": "",
  "source": "",
  "data_quality_explanation": "",
  "custom_emission_factors": [
    {
      "activity": "Biodiesels",
      "reference": "Biodiesels EF",
      "type": "GHG",
      "gwp": "4AR",
      "unit_numerator": "kg",
      "unit_denominator": "kWh",
      "CO2": 1000,
      "CH4": 100,
      "N2O": 100,
      "total_CO2e": 1000,
      "CO2b": 100,
      "data_quality": "",
      "year": 2019,
      "scale": "",
      "description": "",
      "source": ""
    }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/stationary',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "gpc_ref": "I.1.1",
    "scope": "1",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "activity": "Biodiesels",
    "category": "I.1 RESIDENTIAL BUILDINGS",
    "sub_category": "Emissions from fuel combustion within the city boundary",
    "sub_category_option": "Residential (1.a.b)",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

RESPONSE : 200

{
  "CH4_tCO2e": 2500.0,
  "N20_tCO2e": 29799.999999999996,
  "TtCO2e": 1000.0,
  "tCO2b": 100.0,
  "tCO2e": 1000.0
}

Endpoint for recording activity and emissions data for Stationary energy sources.

POST https://api2.dynmhx.io/community/stationary

Param Type Required Description
gpc_ref string true The GPC reference string for this category e.g I.1.1 for the sub-category 'Emissions from fuel combustion within the city boundary' within Stationary Combustion's category 'I.1 RESIDENTIAL BUILDINGS'
scope string true The appropriate scope. One of 1, 2 or 3
description string nullable General description of the row activity or calculation.
activity string true The emission type or activity being reported on e.g Biodiesels
category string true The emission type or activity being reported on e.g Biodiesels
sub_category string nullable Appropriate sub-category under Inventory options with sub-categories e.g from the gpc_ref example above Emissions from fuel combustion within the city boundary
sub_category_option string nullable Appropriate sub(sub-category) under Inventory options with sub-categories e.g from the gpc_ref example above Residential 1.A.4.b
notation_key string true Denote justifications for exclusion or partial accounting of GHG emission source categories. E.g NE for Not Estimated
activity_amount float true Amount of the units of the selected activity to report on. eg 100
activity_units string true Measurement units for the activity data e.g kWh
activity_multiplier_units string nullable Units to be used if you wish to convert your data e.g kWh
activity_multiplier float nullabke An override value for converting activity data. If provided the conversion from activity_multiplier_units won't be used rather this figure will be used. E.g 1.0
oxidation_factor float nullable Overrides default oxidation factor(1) e.g 1.0
gases string nullable Selection of gases in the reported emissions
manual_emissions_data boolean true Indicates whether to use manually entered emission data or to calculate from an emission dataset. Defaults to false.
emission_factor string nullable Name of the custom emission factor to be referenced. It is the reference field from one of the custom emission factors added. e.g Biodiesels_EF
CO2 float nullable Manually entered C02 emissions
CH4 float nullable Manually entered CH4 emissions
total_CO2e float nullable Manually entered total_CO2e emissions
CO2b float nullable Manually entered CO2b emissions
N2O float nullable Manually entered N2O emissions
data_quality string true Denotes quality of the submitted emissions data e.g L
methodology_description string nullable Description of the methodology used for selecting a Notation Key
source string true The data source for the emissions or activity.
data_quality_explanation string true The explanation for choice of data quality level.
custom_emission_factors list true custom params for this particular endpoint

Custom Emission Factors

For custom emission factors code sample

Custom Emission Factors

   {
      "activity": "Biodiesels",
      "reference": "Biodiesels EF",
      "type": "GHG",
      "gwp": "4AR",
      "unit_numerator": "kg",
      "unit_denominator": "kWh",
      "CO2": 1000,
      "CH4": 100,
      "N2O": 100,
      "total_CO2e": 1000,
      "CO2b": 100,
      "data_quality": "",
      "year": 2019,
      "scale": "",
      "description": "",
      "source": ""
    }
Param Type Required Description
activity string required The fuel type or activity e.g Natural Gas
reference string required The reference for this custom ef. Pass this when using a custom ef in other sections. e.g EF_Natural gas
type string optional The emission factor type e.g CO2e
GWP string optional The GWP dataset for the source e.g 5AR
unit_numerator string optional Numerator Units used in the factor e.g kg for the kg/kwh unit
unit_denominator string optional Denominator Units used in the factor e.g kwh for the kg/kwh unit
convert_to_tonnes float optional Tonnage conversion factor e.g 0.0001
C02 float optional The CO2 emissions e.g 0.5
CH4 float optional The CH4 emissions e.g 0.5
N2O float optional The N2O emissions e.g 0.5
total_C02 float optional The total C02 emissions e.g 0.5
CO2b float optional The total CO2b emissions e.g 0.5
data_quality string optional The data quality for this dataset either L, H or M
year int optional Recorded year for the data.
scale string optional The scale used, either National or Regional
description string optional The ef description
source string optional The data source used if any.

Transportation Transportation

Transportation

curl --location --request POST 'https://api2.dynmhx.io/community/transportation' \
--header 'Content-Type: application/json' \
--data-raw '{
    "gpc_ref": "II.1.1",
    "scope": "1",
    "fleet_type": "Municipal",
    "method": "Fuel sales approach",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "activity": "Biodiesels",
    "category": "II.1 ON-ROAD TRANSPORTATION",
    "sub_category": "Emissions from fuel combustion on-road combustion ocurring in the city",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}'
import fetch from "node-fetch";
const data = {
  gpc_ref: "II.1.1",
  scope: "1",
  fleet_type: "Municipal",
  method: "Fuel sales approach",
  description: "Stationary Emissions for Biodiesels fuel type",
  activity: "Biodiesels",
  category: "II.1 ON-ROAD TRANSPORTATION",
  sub_category:
    "Emissions from fuel combustion on-road combustion ocurring in the city",
  notation_key: "NO",
  activity_amount: 1000,
  activity_units: "kWh",
  activity_multiplier_units: "kWh",
  activity_multiplier: null,
  oxidation_factor: 1,
  gases: "CO2",
  manual_emissions_data: false,
  emission_factor: "Biodiesels EF",
  CO2: null,
  CH4: null,
  total_CO2e: null,
  CO2b: null,
  N2O: null,
  data_quality: "L",
  methodology_description: "",
  source: "",
  data_quality_explanation: "",
  custom_emission_factors: [
    {
      activity: "Biodiesels",
      reference: "Biodiesels EF",
      type: "GHG",
      gwp: "4AR",
      unit_numerator: "kg",
      unit_denominator: "kWh",
      CO2: 1000,
      CH4: 100,
      N2O: 100,
      total_CO2e: 1000,
      CO2b: 100,
      data_quality: "",
      year: 2019,
      scale: "",
      description: "",
      source: "",
    },
  ],
};

fetch("https://api2.dynmhx.io/community/transportation", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/community/transportation"

payload = json.dumps({
  "gpc_ref": "II.1.1",
  "scope": "1",
  "fleet_type": "Municipal",
  "method": "Fuel sales approach",
  "description": "Stationary Emissions for Biodiesels fuel type",
  "activity": "Biodiesels",
  "category": "II.1 ON-ROAD TRANSPORTATION",
  "sub_category": "Emissions from fuel combustion on-road combustion ocurring in the city",
  "notation_key": "NO",
  "activity_amount": 1000,
  "activity_units": "kWh",
  "activity_multiplier_units": "kWh",
  "activity_multiplier": None,
  "oxidation_factor": 1,
  "gases": "CO2",
  "manual_emissions_data": False,
  "emission_factor": "Biodiesels EF",
  "CO2": None,
  "CH4": None,
  "total_CO2e": None,
  "CO2b": None,
  "N2O": None,
  "data_quality": "L",
  "methodology_description": "",
  "source": "",
  "data_quality_explanation": "",
  "custom_emission_factors": [
    {
      "activity": "Biodiesels",
      "reference": "Biodiesels EF",
      "type": "GHG",
      "gwp": "4AR",
      "unit_numerator": "kg",
      "unit_denominator": "kWh",
      "CO2": 1000,
      "CH4": 100,
      "N2O": 100,
      "total_CO2e": 1000,
      "CO2b": 100,
      "data_quality": "",
      "year": 2019,
      "scale": "",
      "description": "",
      "source": ""
    }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/transportation',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "gpc_ref": "II.1.1",
    "scope": "1",
    "fleet_type": "Municipal",
    "method": "Fuel sales approach",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "activity": "Biodiesels",
    "category": "II.1 ON-ROAD TRANSPORTATION",
    "sub_category": "Emissions from fuel combustion on-road combustion ocurring in the city",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


RESPONSE : 200

{
  "CH4_tCO2e": 2500.0,
  "N20_tCO2e": 29799.999999999996,
  "TtCO2e": 1000.0,
  "tCO2b": 100.0,
  "tCO2e": 1000.0
}

Endpoint for recording activity and emissions data for Transportation sources.

POST https://api2.dynmhx.io/community/transportation

Param Type Required Description
gpc_ref string true The GPC reference string for this category e.g I.1.1 for the sub-category 'Emissions from fuel combustion within the city boundary' within Stationary Combustion's category 'I.1 RESIDENTIAL BUILDINGS'
scope string true The appropriate scope. One of 1, 2 or 3
fleet_type string true The type of fleet used in calculation e.g Municipal
method string true The calculation approach to be used in calculation e.g Fuel sales approach
description string nullable General description of the row activity or calculation.
activity string true The emission type or activity being reported on e.g Biodiesels
category string true The emission type or activity being reported on e.g Biodiesels
sub_category string nullable Appropriate sub-category under Inventory options with sub-categories e.g from the gpc_ref example above Emissions from fuel combustion within the city boundary
sub_category_option string nullable Appropriate sub(sub-category) under Inventory options with sub-categories e.g from the gpc_ref example above Residential 1.A.4.b
notation_key string true Denote justifications for exclusion or partial accounting of GHG emission source categories. E.g NE for Not Estimated
activity_amount float true Amount of the units of the selected activity to report on. eg 100
activity_units string true Measurement units for the activity data e.g kWh
activity_multiplier_units string nullable Units to be used if you wish to convert your data e.g kWh
activity_multiplier float nullabke An override value for converting activity data. If provided the conversion from activity_multiplier_units won't be used rather this figure will be used. E.g 1.0
oxidation_factor float nullable Overrides default oxidation factor(1) e.g 1.0
gases string nullable Selection of gases in the reported emissions
manual_emissions_data boolean true Indicates whether to use manually entered emission data or to calculate from an emission dataset. Defaults to false.
emission_factor string nullable Name of the custom emission factor to be referenced. It is the reference field from one of the custom emission factors added. e.g Biodiesels_EF
CO2 float nullable Manually entered C02 emissions
CH4 float nullable Manually entered CH4 emissions
total_CO2e float nullable Manually entered total_CO2e emissions
CO2b float nullable Manually entered CO2b emissions
N2O float nullable Manually entered N2O emissions
data_quality string true Denotes quality of the submitted emissions data e.g L
methodology_description string nullable Description of the methodology used for selecting a Notation Key
source string true The data source for the emissions or activity.
data_quality_explanation string true The explanation for choice of data quality level.
custom_emission_factors list true custom params for this particular endpoint

Waste Waste

Waste

curl --location --request POST 'https://api2.dynmhx.io/community/waste' \
--header 'Content-Type: application/json' \
--data-raw '{
    "gpc_ref": "III.1.1",
    "scope": "1",
    "treatment_activity": "Landfill sites - Methane commitment",
    "waste_type": "All waste",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "category": "III.1 SOLID WASTE DISPOSAL",
    "sub_category": "Emissions from solid waste generated in the city and disposed in landfills or open dumps within the city",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}'

import fetch from "node-fetch";
const data = {
  gpc_ref: "III.1.1",
  scope: "1",
  treatment_activity: "Landfill sites - Methane commitment",
  waste_type: "All waste",
  description: "Stationary Emissions for Biodiesels fuel type",
  category: "III.1 SOLID WASTE DISPOSAL",
  sub_category:
    "Emissions from solid waste generated in the city and disposed in landfills or open dumps within the city",
  notation_key: "NO",
  activity_amount: 1000,
  activity_units: "kWh",
  activity_multiplier_units: "kWh",
  activity_multiplier: null,
  oxidation_factor: 1,
  gases: "CO2",
  manual_emissions_data: false,
  emission_factor: "Biodiesels EF",
  CO2: null,
  CH4: null,
  total_CO2e: null,
  CO2b: null,
  N2O: null,
  data_quality: "L",
  methodology_description: "",
  source: "",
  data_quality_explanation: "",
  custom_emission_factors: [
    {
      activity: "Biodiesels",
      reference: "Biodiesels EF",
      type: "GHG",
      gwp: "4AR",
      unit_numerator: "kg",
      unit_denominator: "kWh",
      CO2: 1000,
      CH4: 100,
      N2O: 100,
      total_CO2e: 1000,
      CO2b: 100,
      data_quality: "",
      year: 2019,
      scale: "",
      description: "",
      source: "",
    },
  ],
};

fetch("https://api2.dynmhx.io/community/waste", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/community/waste"

payload = json.dumps({
  "gpc_ref": "III.1.1",
  "scope": "1",
  "treatment_activity": "Landfill sites - Methane commitment",
  "waste_type": "All waste",
  "description": "Stationary Emissions for Biodiesels fuel type",
  "category": "III.1 SOLID WASTE DISPOSAL",
  "sub_category": "Emissions from solid waste generated in the city and disposed in landfills or open dumps within the city",
  "notation_key": "NO",
  "activity_amount": 1000,
  "activity_units": "kWh",
  "activity_multiplier_units": "kWh",
  "activity_multiplier": None,
  "oxidation_factor": 1,
  "gases": "CO2",
  "manual_emissions_data": False,
  "emission_factor": "Biodiesels EF",
  "CO2": None,
  "CH4": None,
  "total_CO2e": None,
  "CO2b": None,
  "N2O": None,
  "data_quality": "L",
  "methodology_description": "",
  "source": "",
  "data_quality_explanation": "",
  "custom_emission_factors": [
    {
      "activity": "Biodiesels",
      "reference": "Biodiesels EF",
      "type": "GHG",
      "gwp": "4AR",
      "unit_numerator": "kg",
      "unit_denominator": "kWh",
      "CO2": 1000,
      "CH4": 100,
      "N2O": 100,
      "total_CO2e": 1000,
      "CO2b": 100,
      "data_quality": "",
      "year": 2019,
      "scale": "",
      "description": "",
      "source": ""
    }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/waste',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "gpc_ref": "III.1.1",
    "scope": "1",
    "treatment_activity": "Landfill sites - Methane commitment",
    "waste_type": "All waste",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "category": "III.1 SOLID WASTE DISPOSAL",
    "sub_category": "Emissions from solid waste generated in the city and disposed in landfills or open dumps within the city",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


RESPONSE : 200

{
  "CH4_tCO2e": 2500.0,
  "N20_tCO2e": 29799.999999999996,
  "TtCO2e": 1000.0,
  "tCO2b": 100.0,
  "tCO2e": 1000.0
}

Endpoint for recording activity and emissions data for Waste sources.

POST https://api2.dynmhx.io/community/waste

Param Type Required Description
gpc_ref string true The GPC reference string for this category e.g I.1.1 for the sub-category 'Emissions from fuel combustion within the city boundary' within Stationary Combustion's category 'I.1 RESIDENTIAL BUILDINGS'
scope string true The appropriate scope. One of 1, 2 or 3
treatment_activity string true The waste treatment type being reported on e.g Landfill sites - Methane commitment
waste_type string true The type of waste used in calculation e.g Sludge
description string nullable General description of the row activity or calculation.
category string true The emission type or activity being reported on e.g Biodiesels
sub_category string nullable Appropriate sub-category under Inventory options with sub-categories e.g from the gpc_ref example above Emissions from fuel combustion within the city boundary
sub_category_option string nullable Appropriate sub(sub-category) under Inventory options with sub-categories e.g from the gpc_ref example above Residential 1.A.4.b
notation_key string true Denote justifications for exclusion or partial accounting of GHG emission source categories. E.g NE for Not Estimated
activity_amount float true Amount of the units of the selected activity to report on. eg 100
activity_units string true Measurement units for the activity data e.g kWh
activity_multiplier_units string nullable Units to be used if you wish to convert your data e.g kWh
activity_multiplier float nullabke An override value for converting activity data. If provided the conversion from activity_multiplier_units won't be used rather this figure will be used. E.g 1.0
oxidation_factor float nullable Overrides default oxidation factor(1) e.g 1.0
gases string nullable Selection of gases in the reported emissions
manual_emissions_data boolean true Indicates whether to use manually entered emission data or to calculate from an emission dataset. Defaults to false.
emission_factor string nullable Name of the custom emission factor to be referenced. It is the reference field from one of the custom emission factors added. e.g Biodiesels_EF
CO2 float nullable Manually entered C02 emissions
CH4 float nullable Manually entered CH4 emissions
total_CO2e float nullable Manually entered total_CO2e emissions
CO2b float nullable Manually entered CO2b emissions
N2O float nullable Manually entered N2O emissions
data_quality string true Denotes quality of the submitted emissions data e.g L
methodology_description string nullable Description of the methodology used for selecting a Notation Key
source string true The data source for the emissions or activity.
data_quality_explanation string true The explanation for choice of data quality level.
custom_emission_factors list true custom params for this particular endpoint

Solid Waste

Solid Waste

curl --location --request POST 'https://api2.dynmhx.io/community/calculators/solid_waste' \
--header 'Content-Type: application/json' \
--data-raw '{
    "region": "Asia",
    "sub_region": "Eastern Asia",
    "total_waste_tonnes": 10,
    "collection_efficiency": 60,
    "landfill_energy":100,
    "landfill_management": "Managed",
    "gwp": "4AR"
}'
import fetch from "node-fetch";
const data = {
    "region": "Asia",
    "sub_region": "Eastern Asia",
    "total_waste_tonnes": 10,
    "collection_efficiency": 60,
    "landfill_energy": 100,
    "landfill_management": "Managed",
    "gwp": "4AR"
 };

 fetch("https://api2.dynmhx.io/community/calculators/solid_waste",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  })
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });

import requests
import json

url = "https://api2.dynmhx.io/community/calculators/solid_waste"

payload = json.dumps({
  "region": "Asia",
  "sub_region": "Eastern Asia",
  "total_waste_tonnes": 10,
  "collection_efficiency": 60,
  "landfill_energy": 100,
  "landfill_management": "Managed",
  "gwp": "4AR"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/calculators/solid_waste',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "region": "Asia",
    "sub_region": "Eastern Asia",
    "total_waste_tonnes": 10,
    "collection_efficiency": 60,
    "landfill_energy":100,
    "landfill_management": "Managed",
    "gwp": "4AR"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

RESPONSE : 200

{
    "Combustion of landfill gas with energy recovery": {
        "CH4": 1,
        "CO2b": 2,
        "N2O": "Trace",
        "Sector": "Stationary Energy",
        "Total": 1
    },
    "Combustion of landfill gas without energy recovery": {
        "CH4": 0,
        "CO2b": 0,
        "N2O": "Trace",
        "Sector": "Waste",
        "Total": 0
    },
    "Direct release of landfill gas to atmosphere": {
        "CH4": 5,
        "CO2b": 1,
        "N2O": "Trace",
        "Sector": "Waste",
        "Total": 5
    },
    "Total": {
        "CH4": 6,
        "CO2b": 2,
        "N2O": "Trace",
        "Sector": null,
        "Total": 6
    }
}

POST https://api2.dynmhx.io/community/calculators/solid_waste

Param Type Required Description
Region string True The applicable region e.g Asia, Africa
Sub-region string True the sub region e.g Eastern Asia for Asian region
Total_waste_tonnes integer True Total waste deposited in landfill metric tonnes
Collection_efficiency integer True Landfill gas collection efficiency
landfill_energy integer True Proportion of landfill gas collected used as energy source
Landfill_management string True Management of landfill
Gwp string True The global warming potential e.g "4AR"

Incineration

Note: Can have either CH4 or N2O as targets. -CH4: Assume all waste types are MSW. Inputs are in the form of waste type - technology - incineration type. -N2O target: Accepts different waste types. Inputs are in the form of waste type - weight basis - incineration type.

Incineration (CH4)

Incineration (CH4)

curl --location --request POST 'https://api2.dynmhx.io/community/calculators/incineration' \
--header 'Content-Type: application/json' \
--data-raw '{
    "target": "CH4",
    "msw_stocker_continuous": 900000,
    "msw_stocker_semi_continuous": 900000,
    "msw_fluidised_bed_continuous": 900000,
    "msw_fluidised_bed_semi_continuous": 900000,
    "msw_stocker_batch": 900000,
    "msw_fluidised_bed_batch": 900000,
    "gwp": "4AR"
}'
import fetch from "node-fetch";
const data = {
  "target": "CH4",
  "msw_stocker_continuous": 900000,
  "msw_stocker_semi_continuous": 900000,
  "msw_fluidised_bed_continuous": 900000,
  "msw_fluidised_bed_semi_continuous": 900000,
  "msw_stocker_batch": 900000,
  "msw_fluidised_bed_batch": 900000,
  "gwp": "4AR"
};

 fetch("https://api2.dynmhx.io/community/calculators/incineration",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  })
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });

import requests
import json

url = "https://api2.dynmhx.io/community/calculators/incineration"

payload = json.dumps({
  "target": "CH4",
  "msw_stocker_continuous": 900000,
  "msw_stocker_semi_continuous": 900000,
  "msw_fluidised_bed_continuous": 900000,
  "msw_fluidised_bed_semi_continuous": 900000,
  "msw_stocker_batch": 900000,
  "msw_fluidised_bed_batch": 900000,
  "gwp": "4AR"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/calculators/incineration',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "target": "CH4",
    "msw_stocker_continuous": 900000,
    "msw_stocker_semi_continuous": 900000,
    "msw_fluidised_bed_continuous": 900000,
    "msw_fluidised_bed_semi_continuous": 900000,
    "msw_stocker_batch": 900000,
    "msw_fluidised_bed_batch": 900000,
    "gwp": "4AR"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

RESPONSE : 200

{
    "msw_fluidised_bed_batch": {
        "tCH4": 213,
        "tCO2e": 5332
    },
    "msw_fluidised_bed_continuous": {
        "tCH4": 0,
        "tCO2e": 0
    },
    "msw_fluidised_bed_semi_continuous": {
        "tCH4": 169,
        "tCO2e": 4230
    },
    "msw_stocker_batch": {
        "tCH4": 54,
        "tCO2e": 1350
    },
    "msw_stocker_continuous": {
        "tCH4": 0,
        "tCO2e": 4
    },
    "msw_stocker_semi_continuous": {
        "tCH4": 5,
        "tCO2e": 135
    },
    "total_tCH4": 442,
    "total_tCO2e": 11052
}

POST https://api2.dynmhx.io/community/calculators/incineration

Param Type Required Description
target string True The calculation target i.e CH4
msw_stocker_continuous integer True Mass incinerated with stocker technology and continuous incineration type
msw_stocker_semi_continuous integer True Mass incinerated with stocker technology and semi-continuous incineration type
msw_fluidised_bed_continuous integer True Mass incinerated with fluidised bed technology and continuous incineration type
msw_fluidised_bed_semi_continuous integer True Mass incinerated with fluidised bed technology and semi-continuous incineration type
msw_stocker_batch integer True Mass incinerated with stocker technology and batch incineration type
msw_fluidised_bed_batch integer True Mass incinerated with fluidised technology and batch incineration type
gwp string True The Global Warming potential

Incineration (N2O)

Incineration (N2O)

curl --location --request POST 'https://api2.dynmhx.io/community/calculators/incineration' \
--header 'Content-Type: application/json' \
--data-raw '{
    "target": "N2O",
    "msw_wet_continuous": 900000,
    "msw_wet_batch": 900000,
    "msw_wet_open_burning": 900000,
    "industrial_wet_all": 900000,
    "sludge_wet_all": 900000,
    "sewage_dry_incineration": 900000,
    "sewage_wet_incineration": 900000,
    "gwp": "4AR"
}'
import fetch from "node-fetch";
const data = {
    "target": "N2O",
    "msw_wet_continuous": 900000,
    "msw_wet_batch": 900000,
    "msw_wet_open_burning": 900000,
    "industrial_wet_all": 900000,
    "sludge_wet_all": 900000,
    "sewage_dry_incineration": 900000,
    "sewage_wet_incineration": 900000,
    "gwp": "4AR"
};

 fetch("https://api2.dynmhx.io/community/calculators/incineration",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  })
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });

import requests
import json

url = "https://api2.dynmhx.io/community/calculators/incineration"

payload = json.dumps({
  "target": "N2O",
  "msw_wet_continuous": 900000,
  "msw_wet_batch": 900000,
  "msw_wet_open_burning": 900000,
  "industrial_wet_all": 900000,
  "sludge_wet_all": 900000,
  "sewage_dry_incineration": 900000,
  "sewage_wet_incineration": 900000,
  "gwp": "4AR"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/calculators/incineration',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "target": "N2O",
    "msw_wet_continuous": 900000,
    "msw_wet_batch": 900000,
    "msw_wet_open_burning": 900000,
    "industrial_wet_all": 900000,
    "sludge_wet_all": 900000,
    "sewage_dry_incineration": 900000,
    "sewage_wet_incineration": 900000,
    "gwp": "4AR"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

RESPONSE : 200

{
    "industrial_wet_all": {
        "tCO2e": 2250,
        "tN2O": 90
    },
    "msw_wet_batch": {
        "tCO2e": 1125,
        "tN2O": 45
    },
    "msw_wet_continuous": {
        "tCO2e": 1125,
        "tN2O": 45
    },
    "msw_wet_open_burning": {
        "tCO2e": 3375,
        "tN2O": 135
    },
    "sewage_dry_incineration": {
        "tCO2e": 22275,
        "tN2O": 891
    },
    "sewage_wet_incineration": {
        "tCO2e": 20250,
        "tN2O": 810
    },
    "sludge_wet_all": {
        "tCO2e": 10125,
        "tN2O": 405
    },
    "total_tCO2e": 60525,
    "total_tN2O": 2421
}

POST https://api2.dynmhx.io/community/calculators/incineration

Param Type Required Description
target string True The calculation target i.e N2O
msw_wet_continuous integer TRue Waste Mass of MSW type and Wet weight basis incinerated with continuous incineration type.
msw_wet_batch integer True Waste Mass of MSW type and Wet weight basis incinerated with batch incineration type
msw_wet_open_burning integer True Waste Mass of MSW type and Wet weight basis incinerated with open burning incineration type.
industrial_wet_all integer True Waste Mass of Industrial type and Wet weight basis incinerated with all incineration types.
sludge_wet_all integer True Waste Mass of Sludge type and Wet weight basis incinerated with all incineration types.
sewage_dry_incineration integer True Waste Mass of Sewage type and Dry weight basis incinerated with all incineration types.
sewage_wet_incineration integer True Waste Mass of Sewage type and Wet weight basis incinerated with all incineration types.
gwp string True The Global Warming potential

Fugitive Gas Fugitive Gas Calculator

Fugitive Gas

curl --location --request POST 'https://api2.dynmhx.io/community/calculators/fugitive_gas' \
--header 'Content-Type: application/json' \
--data-raw '{
    "development_status": "Developed",
    "gwp": "4AR",
    "activity_data": 1000,
    "unit": "GWh",
    "calorific_value": 48,
    "density": null,
    "CO2": null,
    "CH4": null
}'
import fetch from "node-fetch";
const data = {
    "development_status": "Developed",
    "gwp": "4AR",
    "activity_data": 1000,
    "unit": "GWh",
    "calorific_value": 48,
    "density": null,
    "CO2": null,
    "CH4": null
};

 fetch("https://api2.dynmhx.io/community/calculators/fugitive_gas",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  })
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });

import requests
import json

url = "https://api2.dynmhx.io/community/calculators/fugitive_gas"

payload = json.dumps({
  "development_status": "Developed",
  "gwp": "4AR",
  "activity_data": 1000,
  "unit": "GWh",
  "calorific_value": 48,
  "density": None,
  "CO2": None,
  "CH4": None
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/calculators/fugitive_gas',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "development_status": "Developed",
    "gwp": "4AR",
    "activity_data": 1000,
    "unit": "GWh",
    "calorific_value": 48,
    "density": null,
    "CO2": null,
    "CH4": null
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

RESPONSE : 200

{
    "tCH4": 118,
    "tCO2": 5,
    "tCO2e": 2946,
    "total": 2952
}

POST https://api2.dynmhx.io/community/calculators/fugitive_gas

Param Type Required Description
development_status string True The development status for the city i.e Developing or Developed
gwp string True the Global Warming Potential
activity_data integer True Total activity to be calculated
unit string True Unit for activity data
calorific_value integer True Net-calorific value
density nullable Density
CO2 nullable The CO2 override for emission calculation
CH4 nullable The CH4 override for emission calculation

Biological Treatment

Biological Treatment

curl --location --request POST 'https://api2.dynmhx.io/community/calculators/biological_treatment' \
--header 'Content-Type: application/json' \
--data-raw '{
    "total_waste": 100,
    "waste_type": "Wet waste",
    "gwp": "4AR",
    "treatment_type": "Anaerobic digestion",
    "organic_waste_mass": 1000,
    "organic_waste_percentage": 50,
    "emission_factor_CH4": null,
    "emission_factor_N2O": null,
    "recovered_CH4": null
}'
import fetch from "node-fetch";
const data = {
    "total_waste": 100,
    "waste_type": "Wet waste",
    "gwp": "4AR",
    "treatment_type": "Anaerobic digestion",
    "organic_waste_mass": 1000,
    "organic_waste_percentage": 50,
    "emission_factor_CH4": null,
    "emission_factor_N2O": null,
    "recovered_CH4": null
};

 fetch("https://api2.dynmhx.io/community/calculators/biological_treatment",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  })
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });

import requests
import json

url = "https://api2.dynmhx.io/community/calculators/biological_treatment"

payload = json.dumps({
  "total_waste": 100,
  "waste_type": "Wet waste",
  "gwp": "4AR",
  "treatment_type": "Anaerobic digestion",
  "organic_waste_mass": 1000,
  "organic_waste_percentage": 50,
  "emission_factor_CH4": None,
  "emission_factor_N2O": None,
  "recovered_CH4": None
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/calculators/biological_treatment',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "total_waste": 100,
    "waste_type": "Wet waste",
    "gwp": "4AR",
    "treatment_type": "Anaerobic digestion",
    "organic_waste_mass": 1000,
    "organic_waste_percentage": 50,
    "emission_factor_CH4": null,
    "emission_factor_N2O": null,
    "recovered_CH4": null
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

RESPONSE : 200

{
    "CH4": {
        "tCH4": 1.0,
        "tCO2e": 20.0
    },
    "N2O": {
        "tCO2e": 0.0,
        "tN2O": 0.0
    },
    "total": 20.0
}

POST https://api2.dynmhx.io/community/calculators/biological_treatment

Param Type Required Description
total_waste integer True Total mass of waste
waste_type string True Type of waste
gwp string True Global Warming Potential
treatment_type string True Type of biological waste treatment; Composting or Anaerobic digestion
organic_waste_mass integer True Total mass of organic waste treated
organic_waste_percentage integer True Percentage of organic waste treated
emission_factor_CH4 nullable CH4, gCH4/kg waste treated
emission_factor_N2O nullable N2O, gN2O/kg waste treated
recovered_CH4 nullable Amount of CH4 recovered in tCH4

Industrial Processes Industrial Processes

Industrial Processes

curl --location --request POST 'https://api2.dynmhx.io/community/ippu' \
--header 'Content-Type: application/json' \
--data-raw '{
    "gpc_ref": "IV.1",
    "scope": "1",
    "industry": "Mineral",
    "industrial_process": "Cement production (2.A.1)",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "category": "IV.1 INDUSTRIAL PROCESS",
    "sub_category": "Emissions from fuel combustion on-road combustion ocurring in the city",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}'

import fetch from "node-fetch";
const data = {
  gpc_ref: "IV.1",
  scope: "1",
  industry: "Mineral",
  industrial_process: "Cement production (2.A.1)",
  description: "Stationary Emissions for Biodiesels fuel type",
  category: "IV.1 INDUSTRIAL PROCESS",
  sub_category:
    "Emissions from fuel combustion on-road combustion ocurring in the city",
  notation_key: "NO",
  activity_amount: 1000,
  activity_units: "kWh",
  activity_multiplier_units: "kWh",
  activity_multiplier: null,
  oxidation_factor: 1,
  gases: "CO2",
  manual_emissions_data: false,
  emission_factor: "Biodiesels EF",
  CO2: null,
  CH4: null,
  total_CO2e: null,
  CO2b: null,
  N2O: null,
  data_quality: "L",
  methodology_description: "",
  source: "",
  data_quality_explanation: "",
  custom_emission_factors: [
    {
      activity: "Biodiesels",
      reference: "Biodiesels EF",
      type: "GHG",
      gwp: "4AR",
      unit_numerator: "kg",
      unit_denominator: "kWh",
      CO2: 1000,
      CH4: 100,
      N2O: 100,
      total_CO2e: 1000,
      CO2b: 100,
      data_quality: "",
      year: 2019,
      scale: "",
      description: "",
      source: "",
    },
  ],
};

fetch("https://api2.dynmhx.io/community/ippu", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/community/ippu"

payload = json.dumps({
  "gpc_ref": "IV.1",
  "scope": "1",
  "industry": "Mineral",
  "industrial_process": "Cement production (2.A.1)",
  "description": "Stationary Emissions for Biodiesels fuel type",
  "category": "IV.1 INDUSTRIAL PROCESS",
  "sub_category": "Emissions from fuel combustion on-road combustion ocurring in the city",
  "notation_key": "NO",
  "activity_amount": 1000,
  "activity_units": "kWh",
  "activity_multiplier_units": "kWh",
  "activity_multiplier": None,
  "oxidation_factor": 1,
  "gases": "CO2",
  "manual_emissions_data": False,
  "emission_factor": "Biodiesels EF",
  "CO2": None,
  "CH4": None,
  "total_CO2e": None,
  "CO2b": None,
  "N2O": None,
  "data_quality": "L",
  "methodology_description": "",
  "source": "",
  "data_quality_explanation": "",
  "custom_emission_factors": [
    {
      "activity": "Biodiesels",
      "reference": "Biodiesels EF",
      "type": "GHG",
      "gwp": "4AR",
      "unit_numerator": "kg",
      "unit_denominator": "kWh",
      "CO2": 1000,
      "CH4": 100,
      "N2O": 100,
      "total_CO2e": 1000,
      "CO2b": 100,
      "data_quality": "",
      "year": 2019,
      "scale": "",
      "description": "",
      "source": ""
    }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/ippu',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "gpc_ref": "IV.1",
    "scope": "1",
    "industry": "Mineral",
    "industrial_process": "Cement production (2.A.1)",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "category": "IV.1 INDUSTRIAL PROCESS",
    "sub_category": "Emissions from fuel combustion on-road combustion ocurring in the city",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


RESPONSE : 200

{
  "CH4_tCO2e": 2500.0,
  "N20_tCO2e": 29799.999999999996,
  "TtCO2e": 1000.0,
  "tCO2b": 100.0,
  "tCO2e": 1000.0
}

Endpoint for recording activity and emissions data for IPPU sources.

POST https://api2.dynmhx.io/community/ippu

Param Type Required Description
gpc_ref string true The GPC reference string for this category e.g I.1.1 for the sub-category 'Emissions from fuel combustion within the city boundary' within Stationary Combustion's category 'I.1 RESIDENTIAL BUILDINGS'
scope string true The appropriate scope. One of 1, 2 or 3
industry string true The industry being reported e.g Mineral
industrial_process string true The industrial process being reported e.g Cement production (2.A.1)
description string nullable General description of the row activity or calculation.
category string true The emission type or activity being reported on e.g Biodiesels
sub_category string nullable Appropriate sub-category under Inventory options with sub-categories e.g from the gpc_ref example above Emissions from fuel combustion within the city boundary
sub_category_option string nullable Appropriate sub(sub-category) under Inventory options with sub-categories e.g from the gpc_ref example above Residential 1.A.4.b
notation_key string true Denote justifications for exclusion or partial accounting of GHG emission source categories. E.g NE for Not Estimated
activity_amount float true Amount of the units of the selected activity to report on. eg 100
activity_units string true Measurement units for the activity data e.g kWh
activity_multiplier_units string nullable Units to be used if you wish to convert your data e.g kWh
activity_multiplier float nullabke An override value for converting activity data. If provided the conversion from activity_multiplier_units won't be used rather this figure will be used. E.g 1.0
oxidation_factor float nullable Overrides default oxidation factor(1) e.g 1.0
gases string nullable Selection of gases in the reported emissions
manual_emissions_data boolean true Indicates whether to use manually entered emission data or to calculate from an emission dataset. Defaults to false.
emission_factor string nullable Name of the custom emission factor to be referenced. It is the reference field from one of the custom emission factors added. e.g Biodiesels_EF
CO2 float nullable Manually entered C02 emissions
CH4 float nullable Manually entered CH4 emissions
total_CO2e float nullable Manually entered total_CO2e emissions
CO2b float nullable Manually entered CO2b emissions
N2O float nullable Manually entered N2O emissions
data_quality string true Denotes quality of the submitted emissions data e.g L
methodology_description string nullable Description of the methodology used for selecting a Notation Key
source string true The data source for the emissions or activity.
data_quality_explanation string true The explanation for choice of data quality level.
custom_emission_factors list true custom params for this particular endpoint

Agriculture and Forestry AFOLU

Agriculture and Forestry

curl --location --request POST 'https://api2.dynmhx.io/community/afolu' \
--header 'Content-Type: application/json' \
--data-raw '{
    "gpc_ref": "V.1",
    "scope": "1",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "activity": "All livestock (3.A)",
    "category": "V.1 LIVESTOCK",
    "sub_category": "Emissions from livestock",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}'

import fetch from "node-fetch";
const data = {
  gpc_ref: "V.1",
  scope: "1",
  description: "Stationary Emissions for Biodiesels fuel type",
  activity: "All livestock (3.A)",
  category: "V.1 LIVESTOCK",
  sub_category: "Emissions from livestock",
  notation_key: "NO",
  activity_amount: 1000,
  activity_units: "kWh",
  activity_multiplier_units: "kWh",
  activity_multiplier: null,
  oxidation_factor: 1,
  gases: "CO2",
  manual_emissions_data: false,
  emission_factor: "Biodiesels EF",
  CO2: null,
  CH4: null,
  total_CO2e: null,
  CO2b: null,
  N2O: null,
  data_quality: "L",
  methodology_description: "",
  source: "",
  data_quality_explanation: "",
  custom_emission_factors: [
    {
      activity: "Biodiesels",
      reference: "Biodiesels EF",
      type: "GHG",
      gwp: "4AR",
      unit_numerator: "kg",
      unit_denominator: "kWh",
      CO2: 1000,
      CH4: 100,
      N2O: 100,
      total_CO2e: 1000,
      CO2b: 100,
      data_quality: "",
      year: 2019,
      scale: "",
      description: "",
      source: "",
    },
  ],
};

fetch("https://api2.dynmhx.io/community/afolu", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/community/afolu"

payload = json.dumps({
  "gpc_ref": "V.1",
  "scope": "1",
  "description": "Stationary Emissions for Biodiesels fuel type",
  "activity": "All livestock (3.A)",
  "category": "V.1 LIVESTOCK",
  "sub_category": "Emissions from livestock",
  "notation_key": "NO",
  "activity_amount": 1000,
  "activity_units": "kWh",
  "activity_multiplier_units": "kWh",
  "activity_multiplier": None,
  "oxidation_factor": 1,
  "gases": "CO2",
  "manual_emissions_data": False,
  "emission_factor": "Biodiesels EF",
  "CO2": None,
  "CH4": None,
  "total_CO2e": None,
  "CO2b": None,
  "N2O": None,
  "data_quality": "L",
  "methodology_description": "",
  "source": "",
  "data_quality_explanation": "",
  "custom_emission_factors": [
    {
      "activity": "Biodiesels",
      "reference": "Biodiesels EF",
      "type": "GHG",
      "gwp": "4AR",
      "unit_numerator": "kg",
      "unit_denominator": "kWh",
      "CO2": 1000,
      "CH4": 100,
      "N2O": 100,
      "total_CO2e": 1000,
      "CO2b": 100,
      "data_quality": "",
      "year": 2019,
      "scale": "",
      "description": "",
      "source": ""
    }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/afolu',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "gpc_ref": "V.1",
    "scope": "1",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "activity": "All livestock (3.A)",
    "category": "V.1 LIVESTOCK",
    "sub_category": "Emissions from livestock",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


RESPONSE : 200

{
  "CH4_tCO2e": 2500.0,
  "N20_tCO2e": 29799.999999999996,
  "TtCO2e": 1000.0,
  "tCO2b": 100.0,
  "tCO2e": 1000.0
}

Endpoint for recording activity and emissions data for AFOLU sources.

POST https://api2.dynmhx.io/community/afolu

Param Type Required Description
gpc_ref string true The GPC reference string for this category e.g I.1.1 for the sub-category 'Emissions from fuel combustion within the city boundary' within Stationary Combustion's category 'I.1 RESIDENTIAL BUILDINGS'
scope string true The appropriate scope. One of 1, 2 or 3
description string nullable General description of the row activity or calculation.
activity string true The agricultural emission type or activity being reported on e.g Forest land
category string true The emission type or activity being reported on e.g Biodiesels
sub_category string nullable Appropriate sub-category under Inventory options with sub-categories e.g from the gpc_ref example above Emissions from fuel combustion within the city boundary
sub_category_option string nullable Appropriate sub(sub-category) under Inventory options with sub-categories e.g from the gpc_ref example above Residential 1.A.4.b
notation_key string true Denote justifications for exclusion or partial accounting of GHG emission source categories. E.g NE for Not Estimated
activity_amount float true Amount of the units of the selected activity to report on. eg 100
activity_units string true Measurement units for the activity data e.g kWh
activity_multiplier_units string nullable Units to be used if you wish to convert your data e.g kWh
activity_multiplier float nullabke An override value for converting activity data. If provided the conversion from activity_multiplier_units won't be used rather this figure will be used. E.g 1.0
oxidation_factor float nullable Overrides default oxidation factor(1) e.g 1.0
gases string nullable Selection of gases in the reported emissions
manual_emissions_data boolean true Indicates whether to use manually entered emission data or to calculate from an emission dataset. Defaults to false.
emission_factor string nullable Name of the custom emission factor to be referenced. It is the reference field from one of the custom emission factors added. e.g Biodiesels_EF
CO2 float nullable Manually entered C02 emissions
CH4 float nullable Manually entered CH4 emissions
total_CO2e float nullable Manually entered total_CO2e emissions
CO2b float nullable Manually entered CO2b emissions
N2O float nullable Manually entered N2O emissions
data_quality string true Denotes quality of the submitted emissions data e.g L
methodology_description string nullable Description of the methodology used for selecting a Notation Key
source string true The data source for the emissions or activity.
data_quality_explanation string true The explanation for choice of data quality level.
custom_emission_factors list true custom params for this particular endpoint

Other Scope

Other Scope

curl --location --request POST 'https://api2.dynmhx.io/community/other' \
--header 'Content-Type: application/json' \
--data-raw '{
    "gpc_ref": "VI.1",
    "scope": "3",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "activity": "Food",
    "category": "VI.1 OTHER SCOPE 3",
    "sub_category": "Emissions from fuel combustion on-road combustion ocurring in the city",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}'
import fetch from "node-fetch";
const data = {
  gpc_ref: "VI.1",
  scope: "3",
  description: "Stationary Emissions for Biodiesels fuel type",
  activity: "Food",
  category: "VI.1 OTHER SCOPE 3",
  sub_category:
    "Emissions from fuel combustion on-road combustion ocurring in the city",
  notation_key: "NO",
  activity_amount: 1000,
  activity_units: "kWh",
  activity_multiplier_units: "kWh",
  activity_multiplier: null,
  oxidation_factor: 1,
  gases: "CO2",
  manual_emissions_data: false,
  emission_factor: "Biodiesels EF",
  CO2: null,
  CH4: null,
  total_CO2e: null,
  CO2b: null,
  N2O: null,
  data_quality: "L",
  methodology_description: "",
  source: "",
  data_quality_explanation: "",
  custom_emission_factors: [
    {
      activity: "Biodiesels",
      reference: "Biodiesels EF",
      type: "GHG",
      gwp: "4AR",
      unit_numerator: "kg",
      unit_denominator: "kWh",
      CO2: 1000,
      CH4: 100,
      N2O: 100,
      total_CO2e: 1000,
      CO2b: 100,
      data_quality: "",
      year: 2019,
      scale: "",
      description: "",
      source: "",
    },
  ],
};

fetch("https://api2.dynmhx.io/community/other", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/community/other"

payload = json.dumps({
  "gpc_ref": "VI.1",
  "scope": "3",
  "description": "Stationary Emissions for Biodiesels fuel type",
  "activity": "Food",
  "category": "VI.1 OTHER SCOPE 3",
  "sub_category": "Emissions from fuel combustion on-road combustion ocurring in the city",
  "notation_key": "NO",
  "activity_amount": 1000,
  "activity_units": "kWh",
  "activity_multiplier_units": "kWh",
  "activity_multiplier": None,
  "oxidation_factor": 1,
  "gases": "CO2",
  "manual_emissions_data": False,
  "emission_factor": "Biodiesels EF",
  "CO2": None,
  "CH4": None,
  "total_CO2e": None,
  "CO2b": None,
  "N2O": None,
  "data_quality": "L",
  "methodology_description": "",
  "source": "",
  "data_quality_explanation": "",
  "custom_emission_factors": [
    {
      "activity": "Biodiesels",
      "reference": "Biodiesels EF",
      "type": "GHG",
      "gwp": "4AR",
      "unit_numerator": "kg",
      "unit_denominator": "kWh",
      "CO2": 1000,
      "CH4": 100,
      "N2O": 100,
      "total_CO2e": 1000,
      "CO2b": 100,
      "data_quality": "",
      "year": 2019,
      "scale": "",
      "description": "",
      "source": ""
    }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/other',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "gpc_ref": "VI.1",
    "scope": "3",
    "description": "Stationary Emissions for Biodiesels fuel type",
    "activity": "Food",
    "category": "VI.1 OTHER SCOPE 3",
    "sub_category": "Emissions from fuel combustion on-road combustion ocurring in the city",
    "notation_key": "NO",
    "activity_amount": 1000,
    "activity_units": "kWh",
    "activity_multiplier_units": "kWh",
    "activity_multiplier": null,
    "oxidation_factor": 1,
    "gases": "CO2",
    "manual_emissions_data": false,
    "emission_factor": "Biodiesels EF",
    "CO2": null,
    "CH4": null,
    "total_CO2e": null,
    "CO2b": null,
    "N2O": null,
    "data_quality": "L",
    "methodology_description": "",
    "source": "",
    "data_quality_explanation": "",
    "custom_emission_factors": [
        {
            "activity": "Biodiesels",
            "reference": "Biodiesels EF",
            "type": "GHG",
            "gwp": "4AR",
            "unit_numerator": "kg",
            "unit_denominator": "kWh",
            "CO2": 1000,
            "CH4": 100,
            "N2O": 100,
            "total_CO2e": 1000,
            "CO2b": 100,
            "data_quality": "",
            "year": 2019,
            "scale": "",
            "description": "",
            "source": ""
        }
    ]
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


RESPONSE : 200

{
  "CH4_tCO2e": 2500.0,
  "N20_tCO2e": 29799.999999999996,
  "TtCO2e": 1000.0,
  "tCO2b": 100.0,
  "tCO2e": 1000.0
}

Endpoint for recording activity and emissions data for Other Scope 3 sources.

POST https://api2.dynmhx.io/community/other

Param Type Required Description
gpc_ref string true The GPC reference string for this category e.g I.1.1 for the sub-category 'Emissions from fuel combustion within the city boundary' within Stationary Combustion's category 'I.1 RESIDENTIAL BUILDINGS'
scope string true The appropriate scope. One of 1, 2 or 3
description string nullable General description of the row activity or calculation.
activity string true The emission type or activity being reported on e.g Food
category string true The emission type or activity being reported on e.g Biodiesels
sub_category string nullable Appropriate sub-category under Inventory options with sub-categories e.g from the gpc_ref example above Emissions from fuel combustion within the city boundary
notation_key string true Denote justifications for exclusion or partial accounting of GHG emission source categories. E.g NE for Not Estimated
activity_amount float true Amount of the units of the selected activity to report on. eg 100
activity_units string true Measurement units for the activity data e.g kWh
activity_multiplier_units string nullable Units to be used if you wish to convert your data e.g kWh
activity_multiplier float nullabke An override value for converting activity data. If provided the conversion from activity_multiplier_units won't be used rather this figure will be used. E.g 1.0
oxidation_factor float nullable Overrides default oxidation factor(1) e.g 1.0
gases string nullable Selection of gases in the reported emissions
manual_emissions_data boolean true Indicates whether to use manually entered emission data or to calculate from an emission dataset. Defaults to false.
emission_factor string nullable Name of the custom emission factor to be referenced. It is the reference field from one of the custom emission factors added. e.g Biodiesels_EF
CO2 float nullable Manually entered C02 emissions
CH4 float nullable Manually entered CH4 emissions
total_CO2e float nullable Manually entered total_CO2e emissions
CO2b float nullable Manually entered CO2b emissions
N2O float nullable Manually entered N2O emissions
data_quality string true Denotes quality of the submitted emissions data e.g L
methodology_description string nullable Description of the methodology used for selecting a Notation Key
source string true The data source for the emissions or activity.
data_quality_explanation string true The explanation for choice of data quality level.
custom_emission_factors list true custom params for this particular endpoint

Results Summary

Results Summary

curl --location --request POST 'https://api2.dynmhx.io/community/results' \
--header 'Content-Type: application/json' \
--data-raw '{
    "result_option": "overview",
    "afolu": [
        {
            "gpc_ref": "V.1",
            ...
            "custom_emission_factors": [
                {
                    "activity": "Biodiesels",
                    ...
                    "source": ""
                }
            ]
        }
    ],
    "transport": [],
    "ippu": [],
    "waste": [],
    "other_scope": [],
    "stationary": []
}'
import fetch from "node-fetch";
const data = {
    "result_option": "overview",
    "afolu": [
        {
            "gpc_ref": "V.1",
            ...
            "custom_emission_factors": [
                {
                    "activity": "Biodiesels",
                    ...
                    "source": ""
                }
            ]
        }
    ],
    "transport": [],
    "ippu": [],
    "waste": [],
    "other_scope": [],
    "stationary": []
};

 fetch("https://api2.dynmhx.io/community/results",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  })
  .then((response) => response.json())
  .then((data) => {
    console.log("Success:", data);
  })
  .catch((error) => {
    console.error("Error:", error);
  });
import requests
import json

url = "https://api2.dynmhx.io/community/results"

payload = json.dumps({
  "result_option": "overview",
  "afolu": [
    {
      "gpc_ref": "V.1",
      ...
      "custom_emission_factors": [
        {
          "activity": "Biodiesels",
          ...
          "source": ""
        }
      ]
    }
  ],
  "transport": [],
  "ippu": [],
  "waste": [],
  "other_scope": [],
  "stationary": []
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api2.dynmhx.io/community/results',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "result_option": "overview",
    "afolu": [
        {
            "gpc_ref": "V.1",
            ...
            "custom_emission_factors": [
                {
                    "activity": "Biodiesels",
                    ...
                    "source": ""
                }
            ]
        }
    ],
    "transport": [],
    "ippu": [],
    "waste": [],
    "other_scope": [],
    "stationary": []
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

RESPONSE : 200

{
  "sector": {
    "afolu": {
      "sectors": [
        {
          "BASIC": 0,
          "BASIC+": 0,
          "BASIC+ S3": 0,
          "Scope 1": 0,
          "Scope 2": 0,
          "Scope 3": 0,
          "name": "(all V emissions)"
        }
      ]
    },
    "ippu": {
      ...
    },
    "other_scope": {
      ...
    },
    "stationary": {
      ...
    },
    "transport": {
      ...
    },
    "waste": {
      ...
    },
    "total": {
      "BASIC": 13000.0,
      "BASIC+": 13000.0,
      "BASIC+ S3": 13000.0,
      "Scope 1": 11500.0,
      "Scope 2": 0,
      "Scope 3": 1500.0
    }
  },
  "sub_sector": {
    "afolu": {
      "sub_sectors": [
        {
          "Scope 1": 0,
          "Scope 2": 0,
          "Scope 3": 0,
          "Total": 0,
          "gpc_refs": [
            "V.1"
          ],
          "name": "Emissions from livestock"
        },
        {
          "Scope 1": 0,
          "Scope 2": 0,
          "Scope 3": 0,
          "Total": 0,
          "gpc_refs": [
            "V.3"
          ],
          "name": "Emissions from aggregate sources and non-CO2 emission sources on land"
        }
      ],
      "sub_total": {
        "Scope 1": 0,
        "Scope 2": 0,
        "Scope 3": 0,
        "Total": 0
      }
    },
    "ippu": {
      ...
    },
    "other_scope": {
      ...
    },
    "stationary": {
      ...
    },
    "transport": {
      ...
    },
    "waste": {
      ...
    },
    "total": {
      "Scope 1": 11500.0,
      "Scope 2": 0,
      "Scope 3": 1500.0,
      "Total": 13000.0
    }
  }
}

Aggregates data for rows in all sheets above. Returns an overall emissions summary.

POST https://api2.dynmhx.io/community/results

Param Type Required Description
result_option string true The community results option. Only overview is supported for now.
afolu list true List of all afolu rows and their fields
transport list true List of all transport rows and their fields
ippu list true List of all ippu rows and their fields
waste list true List of all waste rows and their fields
other_scope list true List of all other_scope rows and their fields
stationary list true List of all stationary combustion rows and their fields

Dropdowns

Dropdowns

curl --location --request POST 'http://dynm-api.herokuapp.com/community/dropdowns' \
--header 'Content-Type: application/json' \
--data-raw '{
    "target": "stationary_energy",
    "field": "sub_categories",
    "cascading_fields": {
        "category": "I.1 RESIDENTIAL BUILDINGS"
    }
}'
import fetch from "node-fetch";
const data = {
    "target": "stationary_energy",
    "field": "sub_categories",
    "cascading_fields": {
      "category": "I.1 RESIDENTIAL BUILDINGS"
    }
};

 fetch(`https://api2.dynmhx.io/community/dropdowns`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "http://dynm-api.herokuapp.com/community/dropdowns"

payload = json.dumps({
  "target": "stationary_energy",
  "field": "sub_categories",
  "cascading_fields": {
    "category": "I.1 RESIDENTIAL BUILDINGS"
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'http://dynm-api.herokuapp.com/community/dropdowns',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "target": "stationary_energy",
    "field": "sub_categories",
    "cascading_fields": {
        "category": "I.1 RESIDENTIAL BUILDINGS"
    }
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

RESPONSE : 200

[
  {
      "gpc_ref": "I.1.1",
      "name": "Emissions from fuel combustion within the city boundary",
      "scope": "1"
  },
  {
      "gpc_ref": "I.1.2",
      "name": "Emissions from grid-supplied energy consumed within the city boundary",
      "scope": "2"
  },
  {
      "gpc_ref": "I.1.3",
      "name": "Transmission and distribution losses from grid-supplied energy",
      "scope": "3"
  }
]

This endpoint Should prevent manually declaring dropdown values in the UI since the endpoints are heavily data driven.

Most of the data is nested deeply and often child fields need to be filtered by a parent. Example on Community when getting a list of sub_categories you need to declare their category.

NOTE: The reference for the raw data mapping can be found at the repo at community/dropdowns.py and stationary/dropdowns.py

POST http://dynm-api.herokuapp.com/community/dropdowns

Param Type Required Description
target string true Is the main category/entrypoint of the api section you are seeking dropdowns for. E.g stationary_energy, waste, afolu, etc
field string true Is the field name of the dropdown itself for. E.g stationary_energy it could be sub_categories, categories
cascading_fields dictionary optional Is the extra key-value pairs of the cascading fields needed to further lookup a field. E.g sub_categories for the stationary_energy have a cascading_fields_required as category. Therefore you will need to define this as {‘category’: “Your category”} for it to filter correctly. If a cascading_fields_required option is not defined this parameter is then not needed

US State EPA

About

EPA's State Inventory Tool (SIT) is an API designed to help states develop GHG emissions inventories, and provides a streamlined way to update an existing inventory or complete a new inventory. The State Inventory Tool consists of 11 estimation modules applying a top-down approach to calculate GHG emissions, and one module to synthesize estimates across all modules. The SIT gives users the option of applying their own state-specific data or using default data pre-loaded for each state. The default data are gathered by federal agencies and other sources covering fossil fuels, electricity consumption, agriculture, forestry, waste management, and industry. All of the modules examine direct GHG emissions, with the exception of the electricity consumption module which estimates indirect GHG emissions from electricity consumption. The methods used and the sectors covered are the same as those in the U.S. GHG Inventory.

 

The goals of the State Inventory Tool

Stationary Combustion

RESIDENTIAL NITROGEN

curl --location --request POST 'https://api2.dynmhx.io/epa/stationary-combustion/residential-n2o' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
};

 fetch(`https://api2.dynmhx.io/epa/stationary-combustion/residential-n2o`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/stationary-combustion/residential-n2o"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "fuel_type": "Coal",
  "consumption": 23123,
  "control": {
    "Coal": 515
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/stationary-combustion/residential-n2o";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "fuel_type"=> "Coal",
    "consumption"=> 23123,
    "control"=> [
        "Coal"=> 515
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 13023.680592699999,
    "mmtco2e": 3548.6868099999997
}

RESIDENTIAL METHANE

curl --location --request POST 'https://api2.dynmhx.io/epa/stationary-combustion/residential-ch4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
};

 fetch(`https://api2.dynmhx.io/epa/stationary-combustion/residential-ch4`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/stationary-combustion/residential-ch4"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "fuel_type": "Coal",
  "consumption": 23123,
  "control": {
    "Coal": 515
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/stationary-combustion/residential-ch4";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "fuel_type"=> "Coal",
    "consumption"=> 23123,
    "control"=> [
        "Coal"=> 515
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 1092.59065375,
    "mmtco2e": 297.708625
}

COMMERCIAL NITROGEN

curl --location --request POST 'https://api2.dynmhx.io/epa/stationary-combustion/commercial-n2o' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
};

 fetch(`https://api2.dynmhx.io/epa/stationary-combustion/commercial-n2o`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/stationary-combustion/commercial-n2o"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "fuel_type": "Coal",
  "consumption": 23123,
  "control": {
    "Coal": 515
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/stationary-combustion/commercial-n2o";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "fuel_type"=> "Coal",
    "consumption"=> 23123,
    "control"=> [
        "Coal"=> 515
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 13023.680592699999,
    "mmtco2e": 3548.6868099999997
}

COMMERCIAL METHANE

curl --location --request POST 'https://api2.dynmhx.io/epa/stationary-combustion/commercial-ch4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
};

 fetch(`https://api2.dynmhx.io/epa/stationary-combustion/commercial-ch4`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/stationary-combustion/commercial-ch4"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "fuel_type": "Coal",
  "consumption": 23123,
  "control": {
    "Coal": 515
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/stationary-combustion/commercial-ch4";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "fuel_type"=> "Coal",
    "consumption"=> 23123,
    "control"=> [
        "Coal"=> 515
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 1092.59065375,
    "mmtco2e": 297.708625
}

ELECTRIC NITROGEN

curl --location --request POST 'https://api2.dynmhx.io/epa/stationary-combustion/electric-n2o' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
};

 fetch(`https://api2.dynmhx.io/epa/stationary-combustion/electric-n2o`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/stationary-combustion/electric-n2o"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "fuel_type": "Coal",
  "consumption": 23123,
  "control": {
    "Coal": 515
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/stationary-combustion/electric-n2o";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "fuel_type"=> "Coal",
    "consumption"=> 23123,
    "control"=> [
        "Coal"=> 515
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 13023.680592699999,
    "mmtco2e": 3548.6868099999997
}

ELECTRIC METHANE

curl --location --request POST 'https://api2.dynmhx.io/epa/stationary-combustion/electric-ch4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "control": {
        "Coal": 515
    }
};

 fetch(`https://api2.dynmhx.io/epa/stationary-combustion/electric-ch4`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/stationary-combustion/electric-ch4"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "fuel_type": "Coal",
  "consumption": 23123,
  "control": {
    "Coal": 515
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/stationary-combustion/electric-ch4";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "fuel_type"=> "Coal",
    "consumption"=> 23123,
    "control"=> [
        "Coal"=> 515
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 1092.59065375,
    "mmtco2e": 297.708625
}

INDUSTRIAL NITROGEN

curl --location --request POST 'https://api2.dynmhx.io/epa/stationary-combustion/industrial-n2o' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "non_energy_consumption": 4234,
    "control": {
        "Coal": 515
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "non_energy_consumption": 4234,
    "control": {
        "Coal": 515
    }
}

 fetch(`https://api2.dynmhx.io/epa/stationary-combustion/industrial-n2o`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/stationary-combustion/industrial-n2o"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "fuel_type": "Coal",
  "consumption": 23123,
  "non_energy_consumption": 4234,
  "control": {
    "Coal": 515
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/stationary-combustion/industrial-n2o";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "fuel_type"=> "Coal",
    "consumption"=> 23123,
    "non_energy_consumption"=> 4234,
    "control"=> [
        "Coal"=> 515
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 10638.9440261,
    "mmtco2e": 2898.89483
}

INDUSTRIAL METHANE

curl --location --request POST 'https://api2.dynmhx.io/epa/stationary-combustion/industrial-ch4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "non_energy_consumption": 4234,
    "control": {
        "Coal": 515
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "fuel_type": "Coal",
    "consumption": 23123,
    "non_energy_consumption": 4234,
    "control": {
        "Coal": 515
    }
}

 fetch(`https://api2.dynmhx.io/epa/stationary-combustion/industrial-ch4`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/stationary-combustion/industrial-ch4"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "fuel_type": "Coal",
  "consumption": 23123,
  "non_energy_consumption": 4234,
  "control": {
    "Coal": 515
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/stationary-combustion/industrial-ch4";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "fuel_type"=> "Coal",
    "consumption"=> 23123,
    "non_energy_consumption"=> 4234,
    "control"=> [
        "Coal"=> 515
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 10638.9440261,
    "mmtco2e": 2898.89483
}

The Stationary Combustion module calculates methane (CH4) and nitrous oxide (N2O) emissions for the fuel types and end-use sectors indicated in Table 1. While the module provides default data for fuel types (where possible), users are encouraged to input statespecific default data if it is available. If using outside data sources, or for a more thorough understanding of the approach used to estimate emissions, please refer to the following discussion for data requirements and methodology.

Data Requirements

To calculate CH4 and N2O emissions from stationary combustion, the following data are required:

• Fossil fuel consumption by fuel type and sector

• Wood consumption by sector

• Non-energy consumption by fuel type for the industrial sector

• Emission factors by fuel type and sector.

Because the CH4 and N2O emission factors vary by fuel type, it is necessary to compile consumption data for the fuel types provided in the table on the Fuel Types Consumed by Sector section.

Energy consumption statistics should be collected on an energy basis—preferably in British thermal units (Btu). Statistics providing energy consumption data in other units, such as barrels or tons, may be used, but require conversion to Btu by using the heat content of the specific fuel. If the conversion to energy units is necessary, the heat contents that were used should be documented. Please note that even data given in Btu may be preceded by a prefix indicating order of magnitude (i.e. thousand, million, billion).

Fuel Types Consumed by Sector

Residential Commercial Industrial Electric Utilities
Coal Coal Coking Coal
Independent Power
Coal
Other Coal
Coal
Natural Gas Natural Gas Natural Gas Natural Gas
Petroleum:
Distillate Fuel
Kerosene
Hydrocarbon
  Gas Liquids
Petroleum:
Distillate Fuel
Kerosene
Hydrocarbon
  Gas Liquids
Motor
  Gasoline
Residual Fuel
Petroleum:
Distillate Fuel
Kerosene
LPG
Motor Gasoline
Residual Fuel
Lubricants
Asphalt & Road Oil
Crude Oil
Feedstock
  Napthas < 401º
  Other oils > 401ºF
Misc. Petroleum
  Products
Petroleum Coke
Pentanes Plus
Still Gas
Special Naphthas
Unfinished Oils
Waxes
Aviation Gasolin
  Blendin
  Components
Motor Gasolin
  Blendin
  Components
Petroleum:
Distillate Fuel
Residual Fuel
Petroleum Coke
Wood Wood Wood Wood
Other (e.g. geothermal) Other (e.g. geothermal) Other (e.g. geothermal) Other (e.g. geothermal)

The general equation used to calculate CH4 and N2O emissions from fuel combustion in the residential, commercial, and electric power sectors is shown in Equation 1. The equation used for fuels in the industrial end-use sector is similar, but includes the non-energy use of fuels, as shown in Equation 5.1.

General Emission Equation for Stationary Combustion

Emission Factors

Default emission factors are provided in the Stationary Combustion module for all fuel types and sectors and are available from IPCC (2006); however, users may choose to specify their own.

In general, emissions of CH4 and N2O will vary with the type of fuel burned, the size and vintage of the combustion technology, the maintenance and operation of the combustion equipment, and the type of pollution control technology used.

N2O is produced from the combustion of fuels, with the level of N2O emissions dependent on the combustion temperature. The highest N2O emissions occur at a temperature of 1,000 degrees Kelvin. For combustion temperatures below 800 or above 1,200 degrees Kelvin (980 to 1,700 degrees Fahrenheit), the N2O emissions are negligible (IPCC 1997). CH4, carbon monoxide, and non- CH4 volatile organic compounds are unburned gaseous combustibles that are emitted in small quantities due to incomplete combustion; more of these gases are released when combustion temperatures are relatively low.

Emissions of these gases are also influenced by technology type, size, vintage, maintenance, operation, and emission controls. Larger, higher efficiency combustion facilities tend to reach higher combustion temperatures and thus emit less of these gases.

Emissions may range several orders of magnitude above the average for facilities that are improperly maintained or poorly operated, which is often the case for older units. Similarly, during start-up periods, combustion efficiency is lowest, causing emissions of carbon monoxide and non- CH4 volatile organic compounds to be higher than during periods of full operation.

Summary

The endpoints above provide estimates of total CH4 and N2O emissions by sector. These are summed over all fuel types and sectors, for each year, and the information is collected on the summary endpoint. There are three summary endpoints, one for CH4, one for N2O, and one for total emissions. Each endpoint displays results in MMTCO2E.

Energy > NG & Oil

NATURAL GAS PRODUCTION

curl --location --request POST 'https://api2.dynmhx.io/epa/natural-gas/production' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "activity_data": 2362,
    "emission_factor": 10.69
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "activity_data": 2362,
    "emission_factor": 10.69
};

 fetch(`https://api2.dynmhx.io/epa/natural-gas/production`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/natural-gas/production"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "activity_data": 2362,
  "emission_factor": 10.69
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/natural-gas/production";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "activity_data"=> 2362,
    "emission_factor"=> 10.69
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "MMTCH4": 0.6312445,
    "MTCH4": 25249.78
}

NATURAL GAS TRANSMISSION

curl --location --request POST 'https://api2.dynmhx.io/epa/natural-gas/venting-flaring' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "activity_data": 2136,
    "emission_factor": 54.71,
    "percent_flared": "10%"
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "activity_data": 2136,
    "emission_factor": 54.71,
    "percent_flared": "10%"
};

 fetch(`https://api2.dynmhx.io/epa/natural-gas/venting-flaring`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/natural-gas/venting-flaring"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "activity_data": 2136,
  "emission_factor": 54.71,
  "percent_flared": "10%"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/natural-gas/venting-flaring";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "activity_data"=> 2136,
    "emission_factor"=> 54.71,
    "percent_flared"=> "10%"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "MMTCO2E": 0.011686056,
    "MTCO2": 116860.56
}

NATURAL GAS PETROLEUM

curl --location --request POST 'https://api2.dynmhx.io/epa/natural-gas/petroleum' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "activity_data": 2136,
    "emission_factor": 54.71
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "activity_data": 2136,
    "emission_factor": 54.71
};

 fetch(`https://api2.dynmhx.io/epa/natural-gas/petroleum`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/natural-gas/petroleum"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "activity_data": 2136,
  "emission_factor": 54.71
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/natural-gas/petroleum";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "activity_data"=> 2136,
    "emission_factor"=> 54.71
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "MMTCO2E": 0.0029215139999999996,
    "MTCH4": 116.86055999999999
}

NATURAL GAS SUMMARY

curl --location --request POST 'https://api2.dynmhx.io/epa/natural-gas/summary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "natural_gas_mmtco2": 2136,
    "natural_gas_production_mtch4": 54.71,
    "natural_gas_transmission_mtch4": 54.71,
    "natural_gas_distribution_mtch4": 54.71,
    "oil_mtch4": 54.71
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "natural_gas_mmtco2": 2136,
    "natural_gas_production_mtch4": 54.71,
    "natural_gas_transmission_mtch4": 54.71,
    "natural_gas_distribution_mtch4": 54.71,
    "oil_mtch4": 54.71
};

 fetch(`https://api2.dynmhx.io/epa/natural-gas/summary`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/natural-gas/summary"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "natural_gas_mmtco2": 2136,
  "natural_gas_production_mtch4": 54.71,
  "natural_gas_transmission_mtch4": 54.71,
  "natural_gas_distribution_mtch4": 54.71,
  "oil_mtch4": 54.71
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/natural-gas/summary";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "natural_gas_mmtco2"=> 2136,
    "natural_gas_production_mtch4"=> 54.71,
    "natural_gas_transmission_mtch4"=> 54.71,
    "natural_gas_distribution_mtch4"=> 54.71,
    "oil_mtch4"=> 54.71
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "natural_gas_distribution_mtch4": 54.71,
    "natural_gas_mmtco2e": 2136.00410325,
    "natural_gas_mtco2": 2136.0,
    "natural_gas_production_mtch4": 54.71,
    "natural_gas_transmission_mtch4": 54.71,
    "oil_mmtco2e": 2136.00136775,
    "oil_mtch4": 54.71,
    "year": 1990
}

The Natural Gas and Oil Systems module calculates methane (CH4) and carbon dioxide (CO2) emissions from all phases of natural gas systems (including production, transmission, venting and flaring, and distribution) and petroleum systems (including production, refining, and transport). The module provides default data for all emission factors and provides some activity data; however, EPA encourages the use of more comprehensive data sources if they are available. Currently default data are not available in the SIT for the transmission, and distribution of natural gas or the refining, and transportation of oil. I

To calculate CH4 and CO2 emissions from natural gas and oil systems, the following data are required:

Data Requirements for the Natural Gas and Oil Systems Module

Module Worksheet IActivity Data and Emission Factors Required
Natural Gas - Production Number of wells
Number of shallow-water off-shore platforms
Number of deep-water off-shore platforms
Emission factors for all of the above (MT CH4/well or platform)
Natural Gas - Transmission Miles of gathering pipeline
Number of gas processing plants
Number of gas transmission compressor stations
Number of gas storage compressor stations
Miles of transmission pipeline
Number of LNG storage compressor stations
Emission factors for all of the above (MT CH4/unit)
Underground Mining Activities Measured ventilation emissions, by year (million ft3) Degasification system emissions, by year (million ft3) CH4 recovered from degasification systems and used for energy, by year (million ft3)
Natural Gas - Distribution Miles of cast iron distribution pipeline
Miles of unprotected steel distribution pipeline
Miles of protected steel distribution pipeline
Miles of plastic distribution pipeline
Number of services
Number of unprotected steel services
Number of protected steel services
Emission factors for all of the above (MT CH4/unit)
Emission factor for alternate method* (MT CH4/per mile of distribution pipeline)
Natural Gas - Venting and Flaring Billion BTUs of natural gas vented and flared
Emission factor (MT CO2/Billion Btu natural gas vented and flared)
Petroleum Systems Barrels of oil produced
Barrels of oil refined
Barrels of oil transported
Emission factor (kg CH4/1000 barrels)

General Emission Equation for Natural Gas Systems

Natural Gas Production

Most gas production is from gas or oil wells. Gathering lines are used to bring raw gas to a collection point or points within a production field. Because CH4 is the major component of natural gas, leaks or venting from the gathering systems result in CH4 emissions.

Natural gas is usually processed in gas plants to remove and process the natural gas liquids and to prepare the natural gas for pipeline transportation. During processing, natural gas is dried, and a variety of processes may be used to remove most of the heavier hydrocarbons, or condensate, from the gas. Processed gas is then injected into the natural gas transmission system, and the heavier hydrocarbons are marketed separately. Major CH4 emission sources in the gas processing are compressor fugitives, compressor exhaust, vents, pneumatic devices, and blowdown.

Natural Gas Transmission

Transmission pipelines are large diameter, high-pressure lines that transport gas from production fields, processing plants, storage facilities, and other sources of supply over long distances to local distribution companies or to large volume customers. A variety of facilities support the overall system, including metering stations, maintenance facilities, and compressor stations located along pipeline routes. Compressor stations, which maintain the pressure in the pipeline, generally include upstream scrubbers, where the incoming gas is cleaned of particles and liquids before entering the compressors. Reciprocating engines and turbines are used to drive the compressors. Major CH4 emission sources are chronic leaks, compressor fugitives, compressor exhaust, vents, and pneumatic devices.

Natural Gas Distribution

Distribution pipelines are extensive networks of generally small diameter, low-pressure pipelines. Gas enters distribution networks from transmission systems at city gate stations, where the pressure is reduced for distribution within cities or towns. Major CH4 emission sources are chronic leaks, meters, regulators, and mishaps.

Natural Gas Venting and Flaring

The venting and flaring endpoint is unique because it calculates CO2 emissions from flaring, and it requires both activity data for the amount of natural gas vented and flared, and the percent of gas flared. Default activity data are available in the SIT for most statesfrom the EIA Natural Gas Navigator.

While the required activity data for this endpoint is the total amount that is vented and flared, the emissions calculations are for the amount of gas that’s flared. The SIT assumes that 80 percent of this gas is flared and that the remaining 20 percent (i.e., the amount that’s vented) must be accounted for in the petroleum systems production category. Because there is no default data for petroleum systems in the SIT, the user must make sure that the amount of gas flared is not double counted when calculating emissions from the petroleum systems category.

Venting and flaring refer to the disposal of gas that cannot be contained or otherwise handled. Venting and flaring activities are associated with combined oil and gas production and take place in production areas where gas pipeline infrastructure is incomplete, and the natural gas is not injected into reservoirs.

Emission Equation for Venting and Flaring of Natural Gas

Petroleum Systems

Required data for the petroleum systems endpoint include the amount of oil produced (including venting), refined, and transported in the state.

Default data are not provided in the SIT, so users must input data for emissions to be estimated. If state-specific data sources are not available, users can obtain oil production data from EIA’s Petroleum Supply Annual.

Currently, no uniform data source has been identified for oil transportation activities, so in the absence of other information it is recommended that users assume that the amount of oil transported is equivalent to the amount of oil refined in the state.

General Emission Equation for Petroleum Systems

Summary

The summary endpoint displays results in MMTCO2E, as well as by individual gas. Additionally, the summary endpoint provides an overview of sources excluded from the current emission estimates. Users should check this list to see if they wish to go back and enter data for any of the omitted activities.

Energy > Coal

UNDERGROUND MINING ACTIVITIES

curl --location --request POST 'https://api2.dynmhx.io/epa/coal/underground-mines' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ventilation_systems": 29273,
    "degasification": 13152,
    "methane_recovered": 13152
}'
import fetch from "node-fetch";
const data ={
    "ventilation_systems": 29273,
    "degasification": 13152,
    "methane_recovered": 13152
};

 fetch(`https://api2.dynmhx.io/epa/coal/underground-mines`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/coal/underground-mines"

payload = json.dumps({
  "ventilation_systems": 29273,
  "degasification": 13152,
  "methane_recovered": 13152
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/epa/coal/underground-mines";
  $ch = curl_init($url);
  $postData = array(
    "ventilation_systems" => 29273,
    "degasification" => 13152,
    "methane_recovered" => 13152
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "ch4": 29273.0,
    "mtch4": 553845.16,
    "mtco2e": 13846129.0
}

SURFACE MINING ACTIVITIES

curl --location --request POST 'https://api2.dynmhx.io/epa/coal/surface-mines' \
--header 'Content-Type: application/json' \
--data-raw '{
    "coal_production": 11413,
    "basin_specific_ef": 61.4
}'
import fetch from "node-fetch";
const data ={
    "coal_production": 11413,
    "basin_specific_ef": 61.4
};

 fetch(`https://api2.dynmhx.io/epa/coal/surface-mines`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/coal/surface-mines"

payload = json.dumps({
  "coal_production": 11413,
  "basin_specific_ef": 61.4
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/epa/coal/surface-mines";
  $ch = curl_init($url);
  $postData = array(
    "coal_production" => 11413,
    "basin_specific_ef" => 61.4
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "ch4": 700758.2,
  "mtch4": 13258.34514,
  "mtco2e": 331458.6286
}

ABANDONED COAL MINES

curl --location --request POST 'https://api2.dynmhx.io/epa/coal/abandoned-mines-summary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "surface_activity_1": 61.4,
    "surface_activity_2": 0.0,
    "post_underground_activity_1": 86.7,
    "post_underground_activity_2": 0.0,
    "post_surface_activity_1": 10.0,
    "post_surface_activity_2": 0.0,
    "default_mines": [
        {
            "name": "Blue Creek No.3",
            "status": "Flooded",
            "percent_sealed": "80%",
            "methane_recovered": 1000
        }
    ]
}'
import fetch from "node-fetch";
const data ={
    "state": "AL",
    "surface_activity_1": 61.4,
    "surface_activity_2": 0.0,
    "post_underground_activity_1": 86.7,
    "post_underground_activity_2": 0.0,
    "post_surface_activity_1": 10.0,
    "post_surface_activity_2": 0.0,
    "default_mines": [
        {
            "name": "Blue Creek No.3",
            "status": "Flooded",
            "percent_sealed": "80%",
            "methane_recovered": 1000
        }
    ]
};

 fetch(`https://api2.dynmhx.io/epa/coal/abandoned-mines-summary`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/coal/abandoned-mines-summary"

payload = json.dumps({
  "state": "AL",
  "surface_activity_1": 61.4,
  "surface_activity_2": 0,
  "post_underground_activity_1": 86.7,
  "post_underground_activity_2": 0,
  "post_surface_activity_1": 10,
  "post_surface_activity_2": 0,
  "default_mines": [
    {
      "name": "Blue Creek No.3",
      "status": "Flooded",
      "percent_sealed": "80%",
      "methane_recovered": 1000
    }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/coal/abandoned-mines-summary";
  $ch = curl_init($url);
  $postData = array(
    "state" => "AL",
    "surface_activity_1" => 61.4,
    "surface_activity_2" => 0.0,
    "post_underground_activity_1" => 86.7,
    "post_underground_activity_2" => 0.0,
    "post_surface_activity_1" => 10.0,
    "post_surface_activity_2" => 0.0,
    "default_mines" => [[
        "name" => "Blue Creek No.3",
        "status" => "Flooded",
        "percent_sealed" => "80%",
        "methane_recovered" => 1000
    ]]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "with_unknown": {
        "ggch4": {
            "1990": {
                "flooded": 930617832.0396211,
                "sealed": 0.0,
                "vented": 0.0,
                "venting": 0.0
            },
            {
              ...
            },
            "2019": {
                "flooded": 0.0,
                "sealed": 0.0,
                "vented": 0.0
            }
        },
        "mtco2e": {
            "1990": {
                "flooded": 23265445800990.527,
                "sealed": 0.0,
                "total": 23265445800990.527,
                "vented": 0.0,
                "venting": 0.0
            },
            {
              ...
            },
            "2019": {
                "flooded": 0.0,
                "sealed": 0.0,
                "total": 0.0,
                "vented": 0.0
            }
        }
    },
    "without_unknown": {
        "ggch4": {
            "1990": {
                "flooded": 37224.713281584845,
                "sealed": 0.0,
                "unknown": 0.0,
                "vented": 0.0,
                "venting": 0.0
            },
            {
              ...
            },
            "2019": {
                "flooded": 0.0,
                "sealed": 0.0,
                "unknown": 0.0,
                "vented": 0.0
            }
        },
        "mtco2e": {
            "1990": {
                "flooded": 930617832.0396211,
                "sealed": 0.0,
                "total": 930617832.0396211,
                "unknown": 0.0,
                "vented": 0.0,
                "venting": 0.0
            },
            {
              ...
            },
            "2019": {
                "flooded": 0.0,
                "sealed": 0.0,
                "total": 0.0,
                "unknown": 0.0,
                "vented": 0.0
            }
        }
    }
}

Methane emissions from Coal Mining This module provides default activity data, emission factors and other relevant metrics for 1990-2019. Emission factors for 2020 onwards are proxied to 2019 so users can still calculate emissions for subsequent inventory years

To calculate CH4 emissions from coal mining and abandoned coal mines, the data listed in the table are required inputs (again, note that defaults are available for most of these data).

Required Data Inputs for the Coal Module

Coal Module Sectors Input Data Required
CH4 from Coal Mining
Surface Mining Activities Basin-specific emission factors (ft3 CH4 / short ton coal) Surface coal production, by year and basin (‘000 short tons)
Underground Mining Activities Measured ventilation emissions, by year (million ft3) Degasification system emissions, by year (million ft3) CH4 recovered from degasification systems and used for energy, by year (million ft3)
Surface Post-Mining Activities Basin-specific emission factors (ft3 CH4 / short ton coal) Surface coal production, by year and basin (‘000 short tons)
Underground PostMining Activities Basin-specific emission factors (ft3 CH4 / short ton coal) Surface coal production, by year and basin (‘000 short tons)
CH4 from Abandoned Coal Mines A list of abandoned coal mines

CH4 from Coal Mining

The CH4 from coal mining worksheet is divided into emission calculations for underground and surface activities for active mines and post-mining activities.

Underground Mining Activities

There are two sources of emissions from underground mining: (1) CH4 emitted from underground ventilation systems and (2) CH4 emitted from degasification systems. Emissions from underground ventilation systems are calculated by summing the CH4 emissions from ventilation systems at each underground mine in the state. Emissions from CH4 degasification systems are calculated by summing reported or estimated emissions of CH4 from all mines with degasification systems in the state, and then subtracting the CH4 that is recovered and used for energy purposes.

Coal Emissions from Underground Mining Activity Equation

Surface Mining Activities

CH4 emissions from surface mines are estimated by multiplying the state’s surface coal production in each coal basin by an emission factor based on the in-situ CH4 content for the surface coal found in each coal basin. The result is converted to metric tons of CH4, by dividing by 1,000 and multiplying by a conversion factor of 18.92. That amount is converted to MTCO2E by multiplying by the GWP of CH4.

Coal SEmissions from Surface Mining Activity Equation

Post-Mining Activities

Post-mining activity CH4 emissions from both surface and underground mines are calculated in essentially the same manner as emissions from surface mining activity, as Equation 3 shows. The U.S. EPA estimates that CH4 emitted during post-mining activities, such as transportation and handling of coal, equals 33 percent of the in-situ CH4 content for the coal (U.S. EPA 1993). U.S. EPA has used this formula to develop post-mining emission factors, which are used in the module.

Coal Emissions from Post Mining Activities Equation

References

CH4 From abandoned Coal Mines

A list of abandoned coal mines with the following information for each:

For all abandoned mines, CH4 emissions decline as a function of time; this decline can be calculated by a decline equation representing a decline curve. The decline curves vary based on the time since abandonment, the nature of the coal seam, and the status of the mine (vented, sealed, or flooded), as follows:

The decline equations for each of these three statuses are shown in Equation 2.4.

Coal Emissions from Abandoned Mines Equation

References

Summary

COAL MINING SUMMARY

curl --location --request POST 'https://api2.dynmhx.io/epa/coal/summary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "yearly_summary": [
        {
            "year": 1990,
            "coal_mining": 1000,
            "abandoned_coal_mines": 1000,
            "vented": 1000,
            "sealed": 2000,
            "flooded": 243
        }
    ]
}'
import fetch from "node-fetch";
const data ={
    "yearly_summary": [
        {
            "year": 1990,
            "coal_mining": 1000,
            "abandoned_coal_mines": 1000,
            "vented": 1000,
            "sealed": 2000,
            "flooded": 243
        }
    ]
};

 fetch(`https://api2.dynmhx.io/epa/coal/summary`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/coal/summary"

payload = json.dumps({
  "yearly_summary": [
    {
      "year": 1990,
      "coal_mining": 1000,
      "abandoned_coal_mines": 1000,
      "vented": 1000,
      "sealed": 2000,
      "flooded": 243
    }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php
  $url = "https://api2.dynmhx.io/epa/coal/summary";
  $ch = curl_init($url);
  $postData = array(
    "yearly_summary" => [
        [
            "year"=> 1990,
            "coal_mining"=> 1000,
            "abandoned_coal_mines"=> 1000,
            "vented"=> 1000,
            "sealed"=> 2000,
            "flooded"=> 243
        ]
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "yearly_summary": [
        {
            "abandoned_coal_mines": 40.0,
            "coal_mining": 40.0,
            "flooded": 9.72,
            "sealed": 80.0,
            "vented": 40.0,
            "year": 1990
        }
    ]
}

This endpoint provides a summary which displays results in metric tons of carbon dioxide equivalent (MTCO2E) and metric tons of CH4 (MTCH4) broken down by:

Industrial process

CEMENT CO2

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/cement' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "control": {
        "clinker": 34,
        "kiln_dust": 15
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "control": {
        "clinker": 34,
        "kiln_dust": 15
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/cement`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/cement"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "production": 5500,
  "control": {
    "clinker": 34,
    "kiln_dust": 15
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/cement";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "production"=> 5500,
    "control"=> [
        "clinker"=> 34,
        "kiln_dust"=> 15
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 807840.0,
    "mtco2e": 2992000.0
}

LIME CO2

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/lime' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "emission_type": "high_calcium",
    "sugar_refining_use": 2324,
    "control": {
        "high_calcium": 34,
        "dolomitic_lime": 15
    }
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "emission_type": "high_calcium",
    "sugar_refining_use": 2324,
    "control": {
        "high_calcium": 34,
        "dolomitic_lime": 15
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/lime`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/lime"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "production": 5500,
  "emission_type": "high_calcium",
  "sugar_refining_use": 2324,
  "control": {
    "high_calcium": 34,
    "dolomitic_lime": 15
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/lime";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "production"=> 5500,
    "emission_type"=> "high_calcium",
    "sugar_refining_use"=> 2324,
    "control"=> [
        "high_calcium"=> 34,
        "dolomitic_lime"=> 15
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": -15582.456000000002,
    "mtco2e": -57712.8
}

LIMESTONE AND DOLOMITE CO2

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/limestone' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "consumption": 5500,
    "emission_type": "dolomite",
    "control": {
        "limestone": 34,
        "dolomite": 15,
        "magnesium_produced": 15
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "consumption": 5500,
    "emission_type": "dolomite",
    "control": {
        "limestone": 34,
        "dolomite": 15,
        "magnesium_produced": 15
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/limestone`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/limestone"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "consumption": 5500,
  "emission_type": "dolomite",
  "control": {
    "limestone": 34,
    "dolomite": 15,
    "magnesium_produced": 15
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/limestone";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "consumption"=> 5500,
    "emission_type"=> "dolomite",
    "control"=> [
        "limestone"=> 34,
        "dolomite"=> 15,
        "magnesium_produced"=> 15
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 22275.0,
    "mtco2e": 82500.0
}

SODA ASH CO2

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/soda-ash' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "manufacture_consumption": 5500,
    "emission_type": "manufacture",
    "control": {
        "manufacture": 34,
        "consumption": 15
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "manufacture_consumption": 5500,
    "emission_type": "manufacture",
    "control": {
        "manufacture": 34,
        "consumption": 15
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/soda-ash`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/soda-ash"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "manufacture_consumption": 5500,
  "emission_type": "manufacture",
  "control": {
    "manufacture": 34,
    "consumption": 15
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/soda-ash";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "manufacture_consumption"=> 5500,
    "emission_type"=> "manufacture",
    "control"=> [
        "manufacture"=> 34,
        "consumption"=> 15
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 50490.0,
    "mtco2e": 187000.0
}

ALUMININUM CO2

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/aluminum' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "emission_type": "prebake",
    "control": {
        "prebake": 34,
        "soderberg": 15
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "emission_type": "prebake",
    "control": {
        "prebake": 34,
        "soderberg": 15
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/aluminum`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/aluminum"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "production": 5500,
  "emission_type": "prebake",
  "control": {
    "prebake": 34,
    "soderberg": 15
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/aluminum";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "production"=> 5500,
    "emission_type"=> "prebake",
    "control"=> [
        "prebake"=> 34,
        "soderberg"=> 15
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 176550.0,
    "mtco2e": 653895.2592592592
}

IRON AND STEEL CO2

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/iron-steel' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "emission_type": "bof_without_coke_oven",
    "control": {
        "bof_with_coke_oven": 34,
        "bof_without_coke_oven": 15,
        "electric_arc_furnace": 43,
        "ohf": 123
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "emission_type": "bof_without_coke_oven",
    "control": {
        "bof_with_coke_oven": 34,
        "bof_without_coke_oven": 15,
        "electric_arc_furnace": 43,
        "ohf": 123
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/iron-steel`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/iron-steel"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "production": 5500,
  "emission_type": "bof_without_coke_oven",
  "control": {
    "bof_with_coke_oven": 34,
    "bof_without_coke_oven": 15,
    "electric_arc_furnace": 43,
    "ohf": 123
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/iron-steel";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "production"=> 5500,
    "emission_type"=> "bof_without_coke_oven",
    "control"=> [
        "bof_with_coke_oven"=> 34,
        "bof_without_coke_oven"=> 15,
        "electric_arc_furnace"=> 43,
        "ohf"=> 123
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 22275.0,
    "mtco2e": 82500.0
}

AMMONIA AND UREA CO2

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/ammonia-urea' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "urea_emission": 0.0,
    "emission_type": "urea_production",
    "control": {
        "ammonia_production": 34,
        "urea_production": 15
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "urea_emission": 0.0,
    "emission_type": "urea_production",
    "control": {
        "ammonia_production": 34,
        "urea_production": 15
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/ammonia-urea`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/ammonia-urea"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "production": 5500,
  "urea_emission": 0,
  "emission_type": "urea_production",
  "control": {
    "ammonia_production": 34,
    "urea_production": 15
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/ammonia-urea";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "production"=> 5500,
    "urea_emission"=> 0.0,
    "emission_type"=> "urea_production",
    "control"=> [
        "ammonia_production"=> 34,
        "urea_production"=> 15
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 22275.0,
    "mtco2e": 82500.0
}

NITRIC ACID N2O

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/nitric-acid' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "percent_nitrogen": "100%",
    "control": {
        "factor": 34
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "percent_nitrogen": "100%",
    "control": {
        "factor": 34
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/nitric-acid`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/nitric-acid"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "production": 5500,
  "percent_nitrogen": "100%",
  "control": {
    "factor": 34
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/nitric-acid";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "production"=> 5500,
    "percent_nitrogen"=> "100%",
    "control"=> [
        "factor"=> 34
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 15651900.000000002,
    "mtco2e": 4226013.000000001
}

ADIPIC ACID N2O

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/adipic-acid' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "percent_nitrogen": "100%",
    "control": {
        "factor": 34
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "percent_nitrogen": "100%",
    "control": {
        "factor": 34
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/adipic-acid`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/adipic-acid"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "production": 5500,
  "percent_nitrogen": "100%",
  "control": {
    "factor": 34
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/adipic-acid";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "production"=> 5500,
    "percent_nitrogen"=> "100%",
    "control"=> [
        "factor"=> 34
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 15651900.000000002,
    "mtco2e": 4226013.000000001
}

HFC-22

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/hfc-22' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "control": {
        "factor": 34
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "production": 5500,
    "control": {
        "factor": 34
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/hfc-22`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/hfc-22"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "production": 5500,
  "control": {
    "factor": 34
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/hfc-22";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "production"=> 5500,
    "control"=> [
        "factor"=> 34
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 590733000.0,
    "mtco2e": 159497910.0
}

ODS FHC

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/ods' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "mtco2e": 5500,
    "control": {
        "factor": 34
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "mtco2e": 5500,
    "control": {
        "factor": 34
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/ods`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/ods"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "mtco2e": 5500,
  "control": {
    "factor": 34
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/ods";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "mtco2e"=> 5500,
    "control"=> [
        "factor"=> 34
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 1485.0,
    "mtco2e": 5500.0
}

SEMICONDUCTORS

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/semiconductors' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "mtco2e": 5500,
    "control": {
        "factor": 34
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "mtco2e": 5500,
    "control": {
        "factor": 34
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/semiconductors`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/semiconductors"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "mtco2e": 5500,
  "control": {
    "factor": 34
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/semiconductors";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "mtco2e"=> 5500,
    "control"=> [
        "factor"=> 34
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 1485.0,
    "mtco2e": 5500.0
}

ELECTRIC POWER

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/electric-power' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "consumption": 5500,
    "control": {
        "factor": 34
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "consumption": 5500,
    "control": {
        "factor": 34
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/electric-power`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/electric-power"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "consumption": 5500,
  "control": {
    "factor": 34
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/electric-power";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "consumption"=> 5500,
    "control"=> [
        "factor"=> 34
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 1151172000.0,
    "mtco2e": 4263600000.0
}

MAGNESIUM FS6

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/magnesium-sf6' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "consumption": 5500,
    "emission_type": "primary",
    "control": {
        "primary": 34,
        "secondary": 0.0,
        "casting": 0.0
    }
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "consumption": 5500,
    "emission_type": "primary",
    "control": {
        "primary": 34,
        "secondary": 0.0,
        "casting": 0.0
    }
};

 fetch(`https://api2.dynmhx.io/epa/ip/magnesium-sf6`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/magnesium-sf6"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "consumption": 5500,
  "emission_type": "primary",
  "control": {
    "primary": 34,
    "secondary": 0,
    "casting": 0
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/magnesium-sf6";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "consumption"=> 5500,
    "emission_type"=> "primary",
    "control"=> [
        "primary"=> 34,
        "secondary"=> 0.0,
        "casting"=> 0.0
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mtce": 1151172000.0,
    "mtco2e": 4263600000.0
}

SUMMARY

curl --location --request POST 'https://api2.dynmhx.io/epa/ip/summary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "cement_co2": 7989234,
    "lime_co2": 7989234,
    "limestone_co2": 7989234,
    "soda_ash_co2": 7989234,
    "aluminum_co2": 7989234,
    "iron_steel_co2": 7989234,
    "ammonia_production_co2": 7989234,
    "urea_consumption_co2": 7989234,
    "nitric_acid_n2o": 7989234,
    "adipic_acid_n2o": 7989234,
    "ods": 7989234,
    "semiconductor": 7989234,
    "magnesium": 7989234,
    "electric": 7989234,
    "hfc_22": 7989234,
    "aluminum_pfc": 7989234
}'
import fetch from "node-fetch";
const data = {
    "year": 1990,
    "state": "AL",
    "cement_co2": 7989234,
    "lime_co2": 7989234,
    "limestone_co2": 7989234,
    "soda_ash_co2": 7989234,
    "aluminum_co2": 7989234,
    "iron_steel_co2": 7989234,
    "ammonia_production_co2": 7989234,
    "urea_consumption_co2": 7989234,
    "nitric_acid_n2o": 7989234,
    "adipic_acid_n2o": 7989234,
    "ods": 7989234,
    "semiconductor": 7989234,
    "magnesium": 7989234,
    "electric": 7989234,
    "hfc_22": 7989234,
    "aluminum_pfc": 7989234
};

 fetch(`https://api2.dynmhx.io/epa/ip/summary`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/ip/summary"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "cement_co2": 7989234,
  "lime_co2": 7989234,
  "limestone_co2": 7989234,
  "soda_ash_co2": 7989234,
  "aluminum_co2": 7989234,
  "iron_steel_co2": 7989234,
  "ammonia_production_co2": 7989234,
  "urea_consumption_co2": 7989234,
  "nitric_acid_n2o": 7989234,
  "adipic_acid_n2o": 7989234,
  "ods": 7989234,
  "semiconductor": 7989234,
  "magnesium": 7989234,
  "electric": 7989234,
  "hfc_22": 7989234,
  "aluminum_pfc": 7989234
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/ip/summary";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "cement_co2"=> 7989234,
    "lime_co2"=> 7989234,
    "limestone_co2"=> 7989234,
    "soda_ash_co2"=> 7989234,
    "aluminum_co2"=> 7989234,
    "iron_steel_co2"=> 7989234,
    "ammonia_production_co2"=> 7989234,
    "urea_consumption_co2"=> 7989234,
    "nitric_acid_n2o"=> 7989234,
    "adipic_acid_n2o"=> 7989234,
    "ods"=> 7989234,
    "semiconductor"=> 7989234,
    "magnesium"=> 7989234,
    "electric"=> 7989234,
    "hfc_22"=> 7989234,
    "aluminum_pfc"=> 7989234
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "co2": {
        "aluminum_co2": 7989234.0,
        "ammonia_production_co2": 7989234.0,
        "cement_co2": 7989234.0,
        "iron_steel_co2": 7989234.0,
        "lime_co2": 7989234.0,
        "limestone_co2": 7989234.0,
        "soda_ash_co2": 7989234.0,
        "urea_consumption_co2": 7989234.0
    },
    "hfc_pfc_nf3_sf6": 7989234.0,
    "n2o": {
        "adipic_acid_n2o": 7989234.0,
        "nitric_acid_n2o": 7989234.0
    },
    "total": 127827744.0,
    "total_co2": 63913872.0,
    "total_hfc_pfc_nf3_sf6": 47935404.0,
    "total_n2o": 15978468.0
}

The IP module calculates carbon dioxide (CO2), nitrous oxide (NO), hydrofluorocarbon(HFC), perfluorocarbon (PFC), nitrogen trifluoride (NF3 ), and sulfur hexafluoride (SF6 ) emissions from the IP sectors shown in Table below. While the module provides default data for each sector (depending on availability), if you have access to a more comprehensive data source, it should be used in place of the default data. If using outside data sources, or for a more thorough understanding of the tool, please refer to the following discussion for data requirements and methodology

Required Data Inputs for the IP Module

To calculate CO2 , N2O, HFC, PFC, NF3 , and SF6 emissions from IP general activity data on various IP sectors are required. A complete list of the activity data and emission factors necessary to run the IP module is provided in Table below.

IP Sectors Data Required Gas(es)
Cement Production Emission factors and production data for clinker and cement kiln dust (CKD) CO2
Lime Manufacture Emission factors and production data for high-calcium lime, and dolomitic lime CO2
Limestone and Dolomite Use Emission factors and consumption data
for limestone, dolomite, and magnesium produced from dolomite CO2
Soda Ash Manufacture and Consumption Emission factors and consumption data for manufacture and consumption of soda ash CO2
Iron and Steel Production Emission factors and production data for Basic Oxygen Furnace (BOF) at Integrated Mill with Coke Ovens, Basic Oxygen Furnace (BOF) at Integrated Mill without Coke Ovens, Electric Arc Furnace (EAF), and Open Hearth Furnace (OHF) CO2
Ammonia Manufacture Emission factors and production and consumption data for ammonia production, and urea consumption co2
Nitric Acid Production Emission factor, production data, and
Percent N2O Released after Pollution Control for nitric acid production N2O
Adipic Acid Production Emission factor, production data, and
Percent N 2 O Released after Pollution Control for adipic acid production N2O
Aluminum Production Emission factors for Prebake and Søderberg technologies and aluminum production data by technology CO2 and PFC
HCFC-22 Production Emission factor and production data for
HCFC-22 production HFC, PFC,NF3 , and SF6
Consumption of Substitutes for Ozone-Depleting Substances (ODS) No input data required HFC, PFC,NF3 , and SF6
Semiconductor Manufacture No input data required HFC, PFC,NF3 , and SF6
Electric Power Transmission and Distribution Emission factor and SF6 consumption NF3 , and SF6 data for electric power transmission and distribution HFC, PFC,NF3 , and SF6
Magnesium Production and Processing Emission factor and consumption data for primary production, secondary production, and casting HFC, PFC,NF3 , and SF6

emissions of HFCs, PFCs, NF 3 , and SF 6 from ODS substitutes and semiconductor manufacture can be estimated by apportioning national or regional emissions to each state based on population. Because this tool apportions national or regional emissions based on state population, the emission factors and activity data for these sources are not required.

Cement Production

Cement clinker emissions are calculated by multiplying the clinker production quantity by the emission factor entered on the control worksheet and adding the product to the emissions from cement kiln dust (a by-product of cement clinker production). The emissions are then converted from metric tons of carbon equivalents (MTCE) to metric tons of carbon dioxide equivalents (MTCO2E). Equation 5.3 shows this calculation for CO2 emissions from cement production. Cement Production Equation

Lime Manufacture

To calculate emissions from LIme manufacture sector, the production quantity of each lime type is multiplied by its respective emission factor. Because lime used in sugar refining and precipitated calcium carbonate production results in the reabsorption of atmospheric CO2 , carbon absorbed from these uses is subtracted from gross emissions. The emissions are then converted from metric tons of carbon equivalents (MTCE) to metric tons of carbon dioxide equivalents (MTCO2E). Equation 5.4 shows this calculation for CO2 emissions from cement production. Emission Equation for Lime Manufacture

Limestone and Dolomite

To calculate emissions from Limestone and Dolomite use, the quantities of limestone consumed for industrial purposes, dolomite consumed for industrial purposes, and magnesium produced from dolomite are multiplied by their respective emission factors. The emissions are then converted from metric tons of carbon equivalents (MTCE) to metric tons of carbon dioxide equivalents (MTCO2E). For default data, each state's total limestone consumption (as reported by USGS) is multiplied by the ratio of national limestone consumption for industrial uses to total National limestone consumption. Equation 5.5 shows this calculation for CO2 emissions from limestone anddolomite use.

Emission Equation for Limestone and Dolomite Use

Soda Ash Manufacture and Consumption

Emissions from soda ash manufacture and consumption are calculated by multiplying the quantity of soda ash manufactured (Wyoming only) and the quantity of soda ash consumed by their respective emission factors. The emissions are then converted from metric tons of carbon equivalents (MTCE) to metric tons of carbon dioxide equivalents (MTCO2E) as shown in Equation 5.6.

Emission Equation for Soda Ash Manufacture and Consumption

Iron and Steel Production

Emissions from iron and steel production are based on the state-level production data assigned to production method based on the national distribution of production by method. The emissions are then converted from metric tons of carbon equivalents (MTCE) to metric tons of carbon dioxide equivalents (MTCO2E) as shown in Equation 5.7.

Emission Equation for Iron and Steel Production

Ammonia Manufacture

Emissions from ammonia production and urea consumption are calculated by multiplying the quantity of ammonia produced and urea applied by their respective emission factors. Emissions from urea consumption are subtracted from emissions due to ammonia production. The emissions are then converted from metric tons of carbon equivalents (MTCE) to metric tons of carbon dioxide equivalents (MTCO 2 E) as shown in Equation 5.8 and Equation 5.9.

Emission Equation for Ammonia Production

Emission Equation for Urea Consumption

Nitric Acid Production

Emissions from nitric acid production are calculated by multiplying the quantity of nitric acid produced by an emission factor and by the percentage of N2O released after pollution controls are considered. These emissions are then converted from metric tons of carbon equivalents (MTCE) to metric tons of carbon dioxide equivalents (MTCO2E) as seen in Equation 5.10.

Emission Equation for Nitric Acid Production

Adipic Acid Production

Emissions from adipic acid production are calculated by multiplying the quantity adipic acid produced by an emission factor and by the percentage of N2O released after pollution controls are considered. These emissions are then converted from metric tons of N2O to metric tons of carbon equivalents (MTCE) and then metric tons of carbon dioxide equivalents (MTCO2E), shown in Equation 5.11.

Emission Equation for Adipic Acid Production

Aluminum Production

PFC emissions from aluminum production are calculated by multiplying the quantity of aluminum produced during a year by the specific emission factor for that year. CO2 emissions from aluminum production are calculated by multiplying the quantity of aluminum produced during a year by a weighted CO2 emission factor. The emission factor is weighted by the percent of aluminum production using either Prebake or Søderberg technology. If the percent of production by technology type is unknown, a default percentage is assumed based on national data from the U.S. Inventory (U.S. EPA 2020). It is strongly advised that users enter state-specific information, as default data are based on national averages. These emissions are then converted from metric tons of carbon equivalents (MTCE) to metric tons of carbon dioxide equivalents (MTCO2E), shown in Equation 5.12.

Emission Equation for Aluminum Production

HCFC-22 Production

Emissions from HCFC-22 production are calculated by multiplying the quantity of HCFC-22 produced by an emission factor. The emissions are then converted from metric tons of HFC-23 to metric tons of carbon equivalents (MTCE) and then metric tons of carbon dioxide equivalents (MTCO2E) as in Equation 5.13.

Emission Equation for HCFC-22 Production

ODS Consumption

Emissions of HFCs, PFCs, and SF6 from ODS substitute production are estimated by apportioning regional HFC emissions estimates to each state based on population. State population data were provided by U.S. Census Bureau (2021), and regional HFC emissions estimates were provided by Hu et al. (2017). The resulting state emissions are then converted to metric tons of carbon dioxide equivalents (MTCO2E) as shown in Equation 5.14.

Emission Equation for Apportioning Emissions from the Consumption of Substitutes for ODS

Semiconductor Manufacture

Emissions of HFCs, PFCs, NF 3 , and SF 6 from semiconductor production are estimated by apportioning national emissions to each state. National emissions are multiplied by a ratio of the value of a state’s semiconductor shipments, as found in U.S. Census Bureau (1997, 2002, 2007, 2012, and 2017), to the value of national semiconductor shipments. The resulting state emissions are then converted into metric tons of CO2 equivalents (MTCO2E) as shown in Equation 5.15.

Emission Equation for Apportioning Emissions from Semiconductor Manufacture

Electric Power Transmission and Distribution

Emissions from electric power transmission and distribution are calculated by multiplying the quantity of SF6 consumed by an emission factor. The resulting emissions are then converted from metric tons of SF6 to metric tons of carbon dioxide equivalents (MTCO2E) as shown in Equation 5.16. The default assumption is that the emission factor is 1, i.e. all SF6 consumed is used to replace SF6 that was emitted. Default activity data for this sector equals national SF6 emissions apportioned by state electricity sales divided by national electricity sales.

Emission Equation for Electric Power Transmission and Distribution

Magnesium Production and Processing

Emissions from magnesium production and processing are emitted during the production of primary magnesium, production of secondary magnesium, and casting of magnesium. The emissions are calculated by multiplying the quantity of primary magnesium produced, secondary magnesium produced, and magnesium cast during a given year by their respective emission factors for the same year. The resulting emissions are then converted from metric tons of SF6 to metric tons of carbon dioxide equivalents (MTCO2E) as shown in Equation 5.17.

Emission Equation for Magnesium Production and Processing

Land use and change

URBAN TREES

curl --location --request POST 'https://api2.dynmhx.io/epa/land/urban-trees' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "total_urban_area": 3432.54,
    "percentage_tree_cover": "10%",
    "carbon_sequestration_factor": 3545.4
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "total_urban_area": 3432.54,
    "percentage_tree_cover": "10%",
    "carbon_sequestration_factor": 3545.4
};

 fetch(`https://api2.dynmhx.io/epa/land/urban-trees`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/land/urban-trees"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "total_urban_area": 3432.54,
  "percentage_tree_cover": "10%",
  "carbon_sequestration_factor": 3545.4
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/land/urban-trees";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "total_urban_area" => 3432.54,
    "percentage_tree_cover"=> "10%",
    "carbon_sequestration_factor"=> 3545.4
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtco2e": 1533071.8819063387
}

NITROGEN FROM SETTLEMENT

curl --location --request POST 'https://api2.dynmhx.io/epa/land/urban-trees' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "total_urban_area": 3432.54,
    "percentage_tree_cover": "10%",
    "carbon_sequestration_factor": 3545.4
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "total_synthetic_fertilizer": 3432.54,
    "direct_n2o_emission": "10%"
};

 fetch(`https://api2.dynmhx.io/epa/land/n2o-settlement`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/land/n2o-settlement"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "total_synthetic_fertilizer": 3432.54,
  "direct_n2o_emission": "10%"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/land/n2o-settlement";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "total_synthetic_fertilizer"=> 3432.54,
    "direct_n2o_emission"=> "10%"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "direct_n2o": 538.9087800000001,
    "mmtco2e": 0.16059481644,
    "mtco2e": 160594.81644000002
}

METHANE FROM FOREST FIRES

curl --location --request POST 'https://api2.dynmhx.io/epa/land/ch4-fires' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "forest_type": "Primary Tropical Forests",
    "area_burnt": 234.50,
    "average_biomass_density": 4324,
    "combustion_efficiency": "50%",
    "forests_ch4_combusted": 434
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "forest_type": "Primary Tropical Forests",
    "area_burnt": 234.50,
    "average_biomass_density": 4324,
    "combustion_efficiency": "50%",
    "forests_ch4_combusted": 434
};

 fetch(`https://api2.dynmhx.io/epa/land/ch4-fires`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/land/ch4-fires"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "forest_type": "Primary Tropical Forests",
  "area_burnt": 234.5,
  "average_biomass_density": 4324,
  "combustion_efficiency": "50%",
  "forests_ch4_combusted": 434
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/land/ch4-fires";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "forest_type"=> "Primary Tropical Forests",
    "area_burnt"=> 234.50,
    "average_biomass_density"=> 4324,
    "combustion_efficiency"=> "50%",
    "forests_ch4_combusted"=> 434
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "forest_type": "Primary Tropical Forests",
    "mmtco2e": 5500.83065,
    "mtch4": 220.03322599999998
}

NITROGEN FROM FOREST FIRES

curl --location --request POST 'https://api2.dynmhx.io/epa/land/n2o-fires' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "forest_type": "Primary Tropical Forests",
    "area_burnt": 234.50,
    "average_biomass_density": 7565,
    "combustion_efficiency": "50%",
    "forests_n2o_combusted": 564
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "forest_type": "Primary Tropical Forests",
    "area_burnt": 234.50,
    "average_biomass_density": 7565,
    "combustion_efficiency": "50%",
    "forests_n2o_combusted": 564
};

 fetch(`https://api2.dynmhx.io/epa/land/n2o-fires`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/land/n2o-fires"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "forest_type": "Primary Tropical Forests",
  "area_burnt": 234.5,
  "average_biomass_density": 7565,
  "combustion_efficiency": "50%",
  "forests_n2o_combusted": 564
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/land/n2o-fires";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "forest_type"=> "Primary Tropical Forests",
    "area_burnt"=> 234.50,
    "average_biomass_density"=> 7565,
    "combustion_efficiency"=> "50%",
    "forests_n2o_combusted"=> 564
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "forest_type": "Primary Tropical Forests",
    "mmtco2e": 149079.23372999998,
    "mtn2o": 500.26588499999997
}

FOREST LAND REMAINING FOREST

curl --location --request POST 'https://api2.dynmhx.io/epa/land/flrfl' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990
};

 fetch(`https://api2.dynmhx.io/epa/land/flrfl`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/land/flrfl"

payload = json.dumps({
  "state": "AL",
  "year": 1990
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/land/flrfl";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "aboveground_biomass": -33.78,
    "belowground_biomass": 7.09,
    "deadwood": 2.53,
    "drained_organic": 0.0,
    "soil_mineral": 1.34,
    "soil_organic": 0.0,
    "year": 1990
}

LAND CONVERTED TO FOREST LAND

curl --location --request POST 'https://api2.dynmhx.io/epa/land/lcfl' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990
};

 fetch(`https://api2.dynmhx.io/epa/land/lcfl`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/land/lcfl"

payload = json.dumps({
  "state": "AL",
  "year": 1990
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/land/lcfl";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "aboveground_biomass": 2.61,
    "belowground_biomass": 0.64,
    "deadwood": 0.7200000000000001,
    "litter": 0.68,
    "soil_mineral": 0.06999999999999999,
    "year": 1990
}

FOREST LAND CONVETED TO LAND

curl --location --request POST 'https://api2.dynmhx.io/epa/land/flcl' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990
};

 fetch(`https://api2.dynmhx.io/epa/land/flcl`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/land/flcl"

payload = json.dumps({
  "state": "AL",
  "year": 1990
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/land/flcl";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "aboveground_biomass": 1.23,
    "belowground_biomass": 0.24,
    "deadwood": 0.29000000000000004,
    "litter": 0.29000000000000004,
    "soil_mineral": 0.01,
    "year": 1990
}

AGRICULTURAL FLUX

curl --location --request POST 'https://api2.dynmhx.io/epa/land/agricultural-flux' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990
};

 fetch(`https://api2.dynmhx.io/epa/land/agricultural-flux`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/land/agricultural-flux"

payload = json.dumps({
  "state": "AL",
  "year": 1990
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/land/agricultural-flux";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtco2": 0.42,
    "mmtco2e": 10.5
}

SUMMARY

curl --location --request POST 'https://api2.dynmhx.io/epa/land/summary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "forest_land_remaining": {
        "aboveground": 634.234,
        "soil_organic": 32453,
        "drained_organic": 3843,
        "belowground": 0,
        "deadwood": 34354,
        "litter": 234,
        "soil_mineral": 34
    },
    "land_converted_forest": {
        "aboveground": 634.234,
        "belowground": 0,
        "deadwood": 34354,
        "litter": 234,
        "soil_mineral": 34
    },
    "forest_land_converted": {
        "belowground": 0,
        "deadwood": 34354,
        "litter": 234,
        "soil_mineral": 34
    },
    "urban_trees": 238,
    "landfill": 0.0,
    "methane_from_forest_fires": 28394,
    "nitrogen_from_forest_fires": 98232,
    "agricultural_carbon_flux": 2324,
    "nitrogen_from_settlement_soils": 34353
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "forest_land_remaining": {
        "aboveground": 634.234,
        "soil_organic": 32453,
        "drained_organic": 3843,
        "belowground": 0,
        "deadwood": 34354,
        "litter": 234,
        "soil_mineral": 34
    },
    "land_converted_forest": {
        "aboveground": 634.234,
        "belowground": 0,
        "deadwood": 34354,
        "litter": 234,
        "soil_mineral": 34
    },
    "forest_land_converted": {
        "belowground": 0,
        "deadwood": 34354,
        "litter": 234,
        "soil_mineral": 34
    },
    "urban_trees": 238,
    "landfill": 0.0,
    "methane_from_forest_fires": 28394,
    "nitrogen_from_forest_fires": 98232,
    "agricultural_carbon_flux": 2324,
    "nitrogen_from_settlement_soils": 34353
};

 fetch(`https://api2.dynmhx.io/epa/land/summary`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/land/summary"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "forest_land_remaining": {
    "aboveground": 634.234,
    "soil_organic": 32453,
    "drained_organic": 3843,
    "belowground": 0,
    "deadwood": 34354,
    "litter": 234,
    "soil_mineral": 34
  },
  "land_converted_forest": {
    "aboveground": 634.234,
    "belowground": 0,
    "deadwood": 34354,
    "litter": 234,
    "soil_mineral": 34
  },
  "forest_land_converted": {
    "belowground": 0,
    "deadwood": 34354,
    "litter": 234,
    "soil_mineral": 34
  },
  "urban_trees": 238,
  "landfill": 0,
  "methane_from_forest_fires": 28394,
  "nitrogen_from_forest_fires": 98232,
  "agricultural_carbon_flux": 2324,
  "nitrogen_from_settlement_soils": 34353
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/land/summary";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "forest_land_remaining"=> [
        "aboveground"=> 634.234,
        "soil_organic"=> 32453,
        "drained_organic"=> 3843,
        "belowground"=> 0,
        "deadwood"=> 34354,
        "litter"=> 234,
        "soil_mineral"=> 34
    ],
    "land_converted_forest"=> [
        "aboveground"=> 634.234,
        "belowground"=> 0,
        "deadwood"=> 34354,
        "litter"=> 234,
        "soil_mineral"=> 34
    ],
    "forest_land_converted"=> [
        "belowground"=> 0,
        "deadwood"=> 34354,
        "litter"=> 234,
        "soil_mineral"=> 34
    ],
    "urban_trees"=> 238,
    "landfill"=> 0.0,
    "methane_from_forest_fires"=> 28394,
    "nitrogen_from_forest_fires"=> 98232,
    "agricultural_carbon_flux"=> 2324,
    "nitrogen_from_settlement_soils"=> 34353
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "agricultural_carbon_flux": 2324.0,
    "forest_land_converted": {
        "belowground": 0.0,
        "deadwood": 34354.0,
        "litter": 234.0,
        "soil_mineral": 34.0,
        "total": 34622.0
    },
    "forest_land_remaining": {
        "aboveground": 634.234,
        "belowground": 0.0,
        "deadwood": 34354.0,
        "drained_organic": 3843.0,
        "litter": 234.0,
        "soil_mineral": 34.0,
        "soil_organic": 32453.0,
        "total": 71552.234
    },
    "land_converted_forest": {
        "aboveground": 634.234,
        "belowground": 0.0,
        "deadwood": 34354.0,
        "litter": 234.0,
        "soil_mineral": 34.0,
        "total": 35256.234
    },
    "landfill": 0.0,
    "methane_from_forest_fires": 28394.0,
    "nitrogen_from_forest_fires": 98232.0,
    "nitrogen_from_settlement_soils": 34353.0,
    "total": 304971.468,
    "urban_trees": 238.0
}

Data Requirements

To calculate GHG emissions from land use, land-use change, and forestry, the data listed in the table below

Endpoint Input Data Required
Forest Carbon Flux
(Forest Land Remaining Forest Land,
Land Converted to Forest Land,
and Forest Land Converted to Land)
Carbon emitted from or sequestered in aboveground biomass, belowground biomass, dead wood, litter, mineral and organic soils, drained organic soils, wood products and landfills (million metric tons)
Urban Trees Carbon sequestration factor for urban trees (metric ton C/hectare/year)
Total urban area (square kilometers)
Urban area tree cover (percent)
N2O from Settlement Soils Direct N2O emission factor for managed soils (percent)
Total synthetic fertilizer applied to settlements (metric tons nitrogen)
Non-CO2 Emissions from Forest Fires Emission factors for CH4 and N2O emitted from burning forest and savanna (grams of gas/kilogram of dry matter combusted)
Combustion efficiency of different vegetation types (percent)
Average biomass density (kilograms dry matter per hectare)
Area burned (hectares)
Landfilled Yard
Trimmings and Food
Scraps
Grass, leaves, and branches constituting yard trimmings (percent)
Yard trimmings and foods scraps landfilled, 1960-present (tons)
Initial carbon content of yard trimmings and food scraps (percent)
Dry weight/wet weight ratio of yard trimmings and foods scraps (percent)
Proportion of carbon stored permanently for yard trimmings and foods scraps (percent)
Half-life of degradable carbon for yard trimmings and foods scraps (years)
Agricultural Soil Carbon Flux Carbon emitted from or sequestered in mineral and organic soils on cropland and grassland (million metric tons)

Urban Trees

Equation 5.18 shows the method used to calculate carbon sequestration in urban trees.

Urban Trees Equation

Nitrogen from settlement soils

Emissions are calculated by multiplying the fertilizer data by the emission factor for direct emissions of N2O (1.0 percent) to obtain the amount of emissions in N2O-N/yr. This number is then converted from MT N2O-N to MT N2O by multiplying by the ratio of N2O/N2O-N (44/28). This is then converted to MMTCO2E by dividing by 1,000,000 and multiplying by the GWP of N2O. This calculation is shown in Equation 5.19.

Equation for Direct N 2 O Emissions from Settlement Soils

Methane and Nitrogen from forest fires

Equation 5.20 shows the method used to calculate N2O and CH4 emissions from forest fires.

Forest Fires Emissions Equation

Waste > Solid Waste

CO2 from Plastics Combustion

curl --location --request POST 'https://api2.dynmhx.io/epa/solid-waste/co2-plastics' \
--header 'Content-Type: application/json' \
--data-raw '{
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "year": 1990,
    "proportion_discard": "10%",
    "state_msw": 37483274,
    "fraction_oxidized": "10%",
    "plastic_type": "PET"
}'
import fetch from "node-fetch";
const data ={
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "year": 1990,
    "proportion_discard": "10%",
    "state_msw": 37483274,
    "fraction_oxidized": "10%",
    "plastic_type": "PET"
};

 fetch(`https://api2.dynmhx.io/epa/solid-waste/co2-plastics`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/solid-waste/co2-plastics"

payload = json.dumps({
  "industrial_percent": "7%",
  "ch4_oxidation_factor": "10%",
  "plastics_fraction": "98%",
  "synthetic_rubber_fraction": "98%",
  "synthetic_fibers_fraction": "98%",
  "state": "AL",
  "year": 1990,
  "proportion_discard": "10%",
  "state_msw": 37483274,
  "fraction_oxidized": "10%",
  "plastic_type": "PET"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/solid-waste/co2-plastics";
  $ch = curl_init($url);
  $postData = array(
    "industrial_percent"=> "7%",
    "ch4_oxidation_factor"=> "10%",
    "plastics_fraction"=> "98%",
    "synthetic_rubber_fraction"=> "98%",
    "synthetic_fibers_fraction"=> "98%",
    "state"=> "AL",
    "year"=> 1990,
    "proportion_discard"=> "10%",
    "state_msw"=> 37483274,
    "fraction_oxidized"=> "10%",
    "plastic_type"=> "PET"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtco2e": 786212.3608504342,
    "mtce": 214226.8013216442
}

CO2 from Synthetic Rubber Combustion

curl --location --request POST 'https://api2.dynmhx.io/epa/solid-waste/co2-rubber' \
--header 'Content-Type: application/json' \
--data-raw '{
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "year": 1990,
    "proportion_discard": "10%",
    "state_msw": 37483274,
    "fraction_oxidized": "10%",
    "rubber_type": "Durables"
}'
import fetch from "node-fetch";
const data ={
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "year": 1990,
    "proportion_discard": "10%",
    "state_msw": 37483274,
    "fraction_oxidized": "10%",
    "rubber_type": "Durables"
};

 fetch(`https://api2.dynmhx.io/epa/solid-waste/co2-rubber`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/solid-waste/co2-rubber"

payload = json.dumps({
  "industrial_percent": "7%",
  "ch4_oxidation_factor": "10%",
  "plastics_fraction": "98%",
  "synthetic_rubber_fraction": "98%",
  "synthetic_fibers_fraction": "98%",
  "state": "AL",
  "year": 1990,
  "proportion_discard": "10%",
  "state_msw": 37483274,
  "fraction_oxidized": "10%",
  "rubber_type": "Durables"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/solid-waste/co2-rubber";
  $ch = curl_init($url);
  $postData = array(
    "industrial_percent"=> "7%",
    "ch4_oxidation_factor"=> "10%",
    "plastics_fraction"=> "98%",
    "synthetic_rubber_fraction"=> "98%",
    "synthetic_fibers_fraction"=> "98%",
    "state"=> "AL",
    "year"=> 1990,
    "proportion_discard"=> "10%",
    "state_msw"=> 37483274,
    "fraction_oxidized"=> "10%",
    "rubber_type"=> "Durables"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtco2e": 1060762.7090839192,
    "mtce": 289036.1605133295
}

CO2 from Synthetic Fiber Combustion

curl --location --request POST 'https://api2.dynmhx.io/epa/solid-waste/co2-fibers' \
--header 'Content-Type: application/json' \
--data-raw '{
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "year": 1990,
    "proportion_discard": "10%",
    "state_msw": 37483274,
    "fraction_oxidized": "10%"
}'
import fetch from "node-fetch";
const data ={
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "year": 1990,
    "proportion_discard": "10%",
    "state_msw": 37483274,
    "fraction_oxidized": "10%"
};

 fetch(`https://api2.dynmhx.io/epa/solid-waste/co2-fibers`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/solid-waste/co2-fibers"

payload = json.dumps({
  "industrial_percent": "7%",
  "ch4_oxidation_factor": "10%",
  "plastics_fraction": "98%",
  "synthetic_rubber_fraction": "98%",
  "synthetic_fibers_fraction": "98%",
  "state": "AL",
  "year": 1990,
  "proportion_discard": "10%",
  "state_msw": 37483274,
  "fraction_oxidized": "10%"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/solid-waste/co2-fibers";
  $ch = curl_init($url);
  $postData = array(
    "industrial_percent"=> "7%",
    "ch4_oxidation_factor"=> "10%",
    "plastics_fraction"=> "98%",
    "synthetic_rubber_fraction"=> "98%",
    "synthetic_fibers_fraction"=> "98%",
    "state"=> "AL",
    "year"=> 1990,
    "proportion_discard"=> "10%",
    "state_msw"=> 37483274,
    "fraction_oxidized"=> "10%"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtco2e": 873569.2898338157,
    "mtce": 238029.7792462713
}

N2O Emissions from Combustion

curl --location --request POST 'https://api2.dynmhx.io/epa/solid-waste/n2o' \
--header 'Content-Type: application/json' \
--data-raw '{
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "year": 1990,
    "proportion_discard": "10%",
    "state_msw": 37483274,
    "fraction_oxidized": "10%"
}'
import fetch from "node-fetch";
const data ={
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "year": 1990,
    "emission_factor": 34,
    "state_msw": 37483274
};

 fetch(`https://api2.dynmhx.io/epa/solid-waste/n2o`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/solid-waste/n2o"

payload = json.dumps({
  "industrial_percent": "7%",
  "ch4_oxidation_factor": "10%",
  "plastics_fraction": "98%",
  "synthetic_rubber_fraction": "98%",
  "synthetic_fibers_fraction": "98%",
  "state": "AL",
  "year": 1990,
  "emission_factor": 34,
  "state_msw": 37483274
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/solid-waste/n2o";
  $ch = curl_init($url);
  $postData = array(
    "industrial_percent"=> "7%",
    "ch4_oxidation_factor"=> "10%",
    "plastics_fraction"=> "98%",
    "synthetic_rubber_fraction"=> "98%",
    "synthetic_fibers_fraction"=> "98%",
    "state"=> "AL",
    "year"=> 1990,
    "emission_factor"=> 34,
    "state_msw"=> 37483274
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtco2e": 502052.7504287773,
    "mtce": 136799.11455824994
}

CH4 Emissions from Combustion

curl --location --request POST 'https://api2.dynmhx.io/epa/solid-waste/ch4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "year": 1990,
    "proportion_discard": "10%",
    "state_msw": 37483274,
    "fraction_oxidized": "10%"
}'
import fetch from "node-fetch";
const data ={
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "year": 1990,
    "emission_factor": 34,
    "state_msw": 37483274
};

 fetch(`https://api2.dynmhx.io/epa/solid-waste/ch4`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/solid-waste/ch4"

payload = json.dumps({
  "industrial_percent": "7%",
  "ch4_oxidation_factor": "10%",
  "plastics_fraction": "98%",
  "synthetic_rubber_fraction": "98%",
  "synthetic_fibers_fraction": "98%",
  "state": "AL",
  "year": 1990,
  "emission_factor": 34,
  "state_msw": 37483274
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/solid-waste/ch4";
  $ch = curl_init($url);
  $postData = array(
    "industrial_percent"=> "7%",
    "ch4_oxidation_factor"=> "10%",
    "plastics_fraction"=> "98%",
    "synthetic_rubber_fraction"=> "98%",
    "synthetic_fibers_fraction"=> "98%",
    "state"=> "AL",
    "year"=> 1990,
    "emission_factor"=> 34,
    "state_msw"=> 37483274
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtco2e": 16847.40773250931,
    "mtce": 4590.574314035234
}

SOLID WASTE SUMMARY

curl --location --request POST 'https://api2.dynmhx.io/epa/solid-waste/summary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "rows": [
        {
            "year": 1990,
            "plastics_mtce": 214226.8013216442,
            "fibers_mtce": 238029.7792462713,
            "rubbers_mtce": 289036.1605133295,
            "n2o_mtce": 136799.11455824994,
            "ch4_mtce": 4590.574314035234
        }
    ]
}'
import fetch from "node-fetch";
const data ={
    "industrial_percent": "7%",
    "ch4_oxidation_factor": "10%",
    "plastics_fraction": "98%",
    "synthetic_rubber_fraction": "98%",
    "synthetic_fibers_fraction": "98%",
    "state": "AL",
    "rows": [
        {
            "year": 1990,
            "plastics_mtce": 214226.8013216442,
            "fibers_mtce": 238029.7792462713,
            "rubbers_mtce": 289036.1605133295,
            "n2o_mtce": 136799.11455824994,
            "ch4_mtce": 4590.574314035234
        }
    ]
};

 fetch(`https://api2.dynmhx.io/epa/solid-waste/summary`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/solid-waste/summary"

payload = json.dumps({
  "industrial_percent": "7%",
  "ch4_oxidation_factor": "10%",
  "plastics_fraction": "98%",
  "synthetic_rubber_fraction": "98%",
  "synthetic_fibers_fraction": "98%",
  "state": "AL",
  "rows": [
    {
      "year": 1990,
      "plastics_mtce": 214226.8013216442,
      "fibers_mtce": 238029.7792462713,
      "rubbers_mtce": 289036.1605133295,
      "n2o_mtce": 136799.11455824994,
      "ch4_mtce": 4590.574314035234
    }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/solid-waste/summary";
  $ch = curl_init($url);
  $postData = array(
    "industrial_percent"=> "7%",
    "ch4_oxidation_factor"=> "10%",
    "plastics_fraction"=> "98%",
    "synthetic_rubber_fraction"=> "98%",
    "synthetic_fibers_fraction"=> "98%",
    "state"=> "AL",
    "rows"=> [
        [
            "year"=> 1990,
            "plastics_mtce"=> 214226.8013216442,
            "fibers_mtce"=> 238029.7792462713,
            "rubbers_mtce"=> 289036.1605133295,
            "n2o_mtce"=> 136799.11455824994,
            "ch4_mtce"=> 4590.574314035234
        ]
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "1990": {
        "ch4_landfills_mtce": {
            "ch4_avoided": 814556.5,
            "flare": 0.0,
            "landfill": 814556.5,
            "oxidation_industrial": 89255.89736000002,
            "oxidation_msw": 1356539.898,
            "potential_ch4": 13643401.4536,
            "potential_industrial_ch4": 892558.9736000001,
            "potential_msw_ch4": 12750842.48,
            "total_ch4_landfill": 30361711.702560004
        },
        "ch4_landfills_mtco2e": {
            "ch4_avoided": 221950.0,
            "flare": 0.0,
            "landfill": 221950.0,
            "oxidation_industrial": 24320.408000000007,
            "oxidation_msw": 369629.4,
            "potential_ch4": 3717548.08,
            "potential_industrial_ch4": 243204.08000000005,
            "potential_msw_ch4": 3474344.0,
            "total_ch4_landfill": 8272945.968000001
        },
        "co2_n20_ch4_mtce": {
            "ch4": 4590.574314035234,
            "co2": 741292.741081245,
            "co2_fibers": 238029.7792462713,
            "co2_plastics": 214226.8013216442,
            "co2_rubbers": 289036.1605133295,
            "n2o": 136799.11455824994,
            "total": 882682.4299535302
        },
        "co2_n20_ch4_mtco2e": {
            "ch4": 1250.8376877480202,
            "co2": 201987.122910421,
            "co2_fibers": 64858.250475823246,
            "co2_plastics": 58372.425428240924,
            "co2_rubbers": 78756.44700635682,
            "n2o": 37274.96309489099,
            "total": 240512.92369306
        },
        "total_mtco2e": {
            "ch4": 30362962.540247753,
            "co2": 201987.122910421,
            "n2o": 37274.96309489099
        }
    }
}

The Municipal Solid Waste module calculates methane (CH4) emissions from landfilling of municipal solid waste (MSW) and carbon dioxide (CO2) and nitrous oxide (N2O) emissions from the combustion of MSW.

In landfills, CH4 and CO2 are produced from anaerobic decomposition of organic matter by methanogenic bacteria. Organic waste first decomposes aerobically (in the presence of oxygen) and is then decomposed by anaerobic non-methanogenic bacteria, which convert organic material to simpler forms like cellulose, amino acids, sugars, and fats. These simple substances are further broken down to gases and short-chain organic compounds (H2, CO2, CH3COOH, HCOOH, and CH3OH), which support the growth of methanogenic bacteria. The bacteria further metabolize these fermentation products into stabilized organic materials and “biogas,” which consists of approximately 50 percent CO2 and 50 percent CH4 by volume.

Additionally, some landfills flare recovered landfill gas, which converts the CH4 portion of the gas to CO2. There are also some landfills that collect and burn landfill gas for electricity production or other energy uses (known as landfill-gas-to-energy projects, or LFGTE), which are treated similarly to landfills that flare their gas.

Data Requirements for the Municipal Solid Waste Module

Solid Waste Sectors Input Data
Landfills Amount of MSW landfilled in state from 1960 through the present OR from 1990 through the present (short tons)
State population data, 1960 through the present
Amount of CH4 flared/recovered at landfills (short tons)
Industrial landfill CH4 emissions, as a percent of MSW landfill emissions
Percent of landfill CH4 oxidized at the landfill surface (oxidation factor)
Waste Combustion Fraction of plastics, synthetic rubber, and synthetic fiber that is oxidized
in a combustion facility
Amount of MSW combusted for 1990 through the present (short tons)
Plastic Combustion Polyethylene terephthalate (PET) as a proportion of all MSW discards
High-density polyethylene (HDPE) as a proportion of all MSW discards
Polyvinyl chloride (PVC) as a proportion of all MSW discards
Low-density/linear low-density polyethylen (LDPE/LLDPE) as a proportion of all MSW discards
Polypropylene (PP) as a proportion of all MSW discards
Polystyrene (PS) as a proportion of all MSW discards
Other plastic as a proportion of all MSW discards
Synthetic Rubber Combustion Synthetic rubber durables as a proportion of all MSW discards
Synthetic rubber clothing and footwear as a proportion of all MSW discards
Other synthetic rubber non-durables as a proportion of all MSW discards
Synthetic rubber containers and packaging as a proportion of all MSW discards
Synthetic Fiber Combustion Synthetic fiber as a proportion of all MSW discards

CO2 from Plastics Combustion

CO2 Emissions from Combustion

CO2 from Synthetic Rubber Combustion

The synthetic rubber combustion endpoint is identical to the plastic combustion endpoint, except that it calculates emissions for durable goods, non-durable goods (clothing and footwear, and other non-durables), and packaging and containers made of synthetic rubber.

CO2 Emissions from Combustion

CO2 from Synthetic Fiber Combustion

Again, this endpoint is identical to the endpoints for plastic and synthetic rubber combustion

CO2 Emissions from Combustion

N2O Emissions from Combustion

N2O Emissions from Combustion

CH4 Emissions from Combustion

CH4 Emissions from Combustion

Summary

The solid waste endpoints provide estimates of total emissions and reductions from municipal solid waste management. The information from the control worksheet and data entry worksheets is collected on the summary endpoint, which displays results in million metric tons of carbon dioxide equivalent (MMTCO2E).

NOTE: Broken down per Year

WasteWater

INDUSTIAL METHANE- REDMEAT

curl --location --request POST 'https://api2.dynmhx.io/epa/wastewater/industrial-ch4-redmeat' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "production_processed": 3214,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
}'
import fetch from "node-fetch";
const data ={
    "state": "AL",
    "year": 1990,
    "production_processed": 3214,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
};

 fetch(`https://api2.dynmhx.io/epa/wastewater/industrial-ch4-redmeat`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/wastewater/industrial-ch4-redmeat"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "production_processed": 3214,
  "municipal_methane": {
    "per_capita_bod": 10,
    "bod_fraction_digested": "10%",
    "emission_factor": 100
  },
  "municipal_nitrogen": {
    "non_consumption_nitrogen": 10,
    "fraction_not_on_septic": "1%",
    "direct_emissions": 1000
  },
  "municipal_nitrogen_biosolid": {
    "emission_factor": 132,
    "fraction_nitrogen_protein": "50%"
  },
  "industrial_fruit_vegetable": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_red_meat": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_poultry": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_pulp_paper": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/wastewater/industrial-ch4-redmeat";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "production_processed"=> 3214,
    "municipal_methane"=> [
        "per_capita_bod"=> 10,
        "bod_fraction_digested"=> "10%",
        "emission_factor"=> 100
    ],
    "municipal_nitrogen"=> [
        "non_consumption_nitrogen"=> 10,
        "fraction_not_on_septic"=> "1%",
        "direct_emissions"=> 1000
    ],
    "municipal_nitrogen_biosolid"=> [
        "emission_factor"=> 132,
        "fraction_nitrogen_protein"=> "50%"
    ],
    "industrial_fruit_vegetable"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_red_meat"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_poultry"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_pulp_paper"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 0.029488450000000003,
    "mmtch4": 0.0003214,
    "mmtco2e": 0.007961881500000002
}

INDUSTIAL METHANE- POULTRY

curl --location --request POST 'https://api2.dynmhx.io/epa/wastewater/industrial-ch4-poultry' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "production_processed": 3214,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
}'
import fetch from "node-fetch";
const data ={
    "state": "AL",
    "year": 1990,
    "production_processed": 3214,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
}
 ;

 fetch(`https://api2.dynmhx.io/epa/wastewater/industrial-ch4-poultry`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/wastewater/industrial-ch4-poultry"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "production_processed": 3214,
  "municipal_methane": {
    "per_capita_bod": 10,
    "bod_fraction_digested": "10%",
    "emission_factor": 100
  },
  "municipal_nitrogen": {
    "non_consumption_nitrogen": 10,
    "fraction_not_on_septic": "1%",
    "direct_emissions": 1000
  },
  "municipal_nitrogen_biosolid": {
    "emission_factor": 132,
    "fraction_nitrogen_protein": "50%"
  },
  "industrial_fruit_vegetable": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_red_meat": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_poultry": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_pulp_paper": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/wastewater/industrial-ch4-poultry";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "production_processed"=> 3214,
    "municipal_methane"=> [
        "per_capita_bod"=> 10,
        "bod_fraction_digested"=> "10%",
        "emission_factor"=> 100
    ],
    "municipal_nitrogen"=> [
        "non_consumption_nitrogen"=> 10,
        "fraction_not_on_septic"=> "1%",
        "direct_emissions"=> 1000
    ],
    "municipal_nitrogen_biosolid"=> [
        "emission_factor"=> 132,
        "fraction_nitrogen_protein"=> "50%"
    ],
    "industrial_fruit_vegetable"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_red_meat"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_poultry"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_pulp_paper"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 0.029488450000000003,
    "mmtch4": 0.0003214,
    "mmtco2e": 0.007961881500000002
}

INDUSTIAL METHANE- PAPER & PULP

curl --location --request POST 'https://api2.dynmhx.io/epa/wastewater/industrial-ch4-paper-pulp' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "paper_paperboard": 3214,
    "wood_pulp": 2323,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "paper_paperboard": 3214,
    "wood_pulp": 2323,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
};

 fetch(`https://api2.dynmhx.io/epa/wastewater/industrial-ch4-paper-pulp`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});

import requests
import json

url = "https://api2.dynmhx.io/epa/wastewater/industrial-ch4-paper-pulp"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "paper_paperboard": 3214,
  "wood_pulp": 2323,
  "municipal_methane": {
    "per_capita_bod": 10,
    "bod_fraction_digested": "10%",
    "emission_factor": 100
  },
  "municipal_nitrogen": {
    "non_consumption_nitrogen": 10,
    "fraction_not_on_septic": "1%",
    "direct_emissions": 1000
  },
  "municipal_nitrogen_biosolid": {
    "emission_factor": 132,
    "fraction_nitrogen_protein": "50%"
  },
  "industrial_fruit_vegetable": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_red_meat": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_poultry": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_pulp_paper": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/wastewater/industrial-ch4-paper-pulp";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "paper_paperboard"=> 3214,
    "wood_pulp"=> 2323,
    "municipal_methane"=> [
        "per_capita_bod"=> 10,
        "bod_fraction_digested"=> "10%",
        "emission_factor"=> 100
    ],
    "municipal_nitrogen"=> [
        "non_consumption_nitrogen"=> 10,
        "fraction_not_on_septic"=> "1%",
        "direct_emissions"=> 1000
    ],
    "municipal_nitrogen_biosolid"=> [
        "emission_factor"=> 132,
        "fraction_nitrogen_protein"=> "50%"
    ],
    "industrial_fruit_vegetable"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_red_meat"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_poultry"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_pulp_paper"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 0.05080197499999999,
    "mmtch4": 0.0005537,
    "mmtco2e": 0.01371653325
}

INDUSTIAL METHANE- FRUIT

curl --location --request POST 'https://api2.dynmhx.io/epa/wastewater/industrial-ch4-fruit' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "production_processed": 3214,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "production_processed": 3214,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
};

 fetch(`https://api2.dynmhx.io/epa/wastewater/industrial-ch4-fruit`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});

import requests
import json

url = "https://api2.dynmhx.io/epa/wastewater/industrial-ch4-fruit"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "production_processed": 3214,
  "municipal_methane": {
    "per_capita_bod": 10,
    "bod_fraction_digested": "10%",
    "emission_factor": 100
  },
  "municipal_nitrogen": {
    "non_consumption_nitrogen": 10,
    "fraction_not_on_septic": "1%",
    "direct_emissions": 1000
  },
  "municipal_nitrogen_biosolid": {
    "emission_factor": 132,
    "fraction_nitrogen_protein": "50%"
  },
  "industrial_fruit_vegetable": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_red_meat": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_poultry": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_pulp_paper": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/wastewater/industrial-ch4-fruit";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "production_processed"=> 3214,
    "municipal_methane"=> [
        "per_capita_bod"=> 10,
        "bod_fraction_digested"=> "10%",
        "emission_factor"=> 100
    ],
    "municipal_nitrogen"=> [
        "non_consumption_nitrogen"=> 10,
        "fraction_not_on_septic"=> "1%",
        "direct_emissions"=> 1000
    ],
    "municipal_nitrogen_biosolid"=> [
        "emission_factor"=> 132,
        "fraction_nitrogen_protein"=> "50%"
    ],
    "industrial_fruit_vegetable"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_red_meat"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_poultry"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_pulp_paper"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 0.029488450000000003,
    "mmtch4": 0.0003214,
    "mmtco2e": 0.007961881500000002
}

INDUSTIAL METHANE- SUMMARY

curl --location --request POST 'https://api2.dynmhx.io/epa/wastewater/summary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "yearly_summary": [
        {
            "year": 1990,
            "municipal_ch4": 3214,
            "municipal_n2o": 3214,
            "fruits_vegetables": 3214,
            "red_meat": 3214,
            "poultry": 3214,
            "pulp_paper": 3214
        }
    ],
    "state": "AL",
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
}'
import fetch from "node-fetch";
const data = {
    "yearly_summary": [
        {
            "year": 1990,
            "municipal_ch4": 3214,
            "municipal_n2o": 3214,
            "fruits_vegetables": 3214,
            "red_meat": 3214,
            "poultry": 3214,
            "pulp_paper": 3214
        }
    ],
    "state": "AL",
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
};

 fetch(`https://api2.dynmhx.io/epa/wastewater/summary`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});

import requests
import json

url = "https://api2.dynmhx.io/epa/wastewater/summary"

payload = json.dumps({
  "yearly_summary": [
    {
      "year": 1990,
      "municipal_ch4": 3214,
      "municipal_n2o": 3214,
      "fruits_vegetables": 3214,
      "red_meat": 3214,
      "poultry": 3214,
      "pulp_paper": 3214
    }
  ],
  "state": "AL",
  "municipal_methane": {
    "per_capita_bod": 10,
    "bod_fraction_digested": "10%",
    "emission_factor": 100
  },
  "municipal_nitrogen": {
    "non_consumption_nitrogen": 10,
    "fraction_not_on_septic": "1%",
    "direct_emissions": 1000
  },
  "municipal_nitrogen_biosolid": {
    "emission_factor": 132,
    "fraction_nitrogen_protein": "50%"
  },
  "industrial_fruit_vegetable": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_red_meat": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_poultry": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_pulp_paper": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/wastewater/summary";
  $ch = curl_init($url);
  $postData = array(
    "yearly_summary"=> [
        [
            "year"=> 1990,
            "municipal_ch4"=> 3214,
            "municipal_n2o"=> 3214,
            "fruits_vegetables"=> 3214,
            "red_meat"=> 3214,
            "poultry"=> 3214,
            "pulp_paper"=> 3214
        ]
    ],
    "state"=> "AL",
    "municipal_methane"=> [
        "per_capita_bod"=> 10,
        "bod_fraction_digested"=> "10%",
        "emission_factor"=> 100
    ],
    "municipal_nitrogen"=> [
        "non_consumption_nitrogen"=> 10,
        "fraction_not_on_septic"=> "1%",
        "direct_emissions"=> 1000
    ],
    "municipal_nitrogen_biosolid"=> [
        "emission_factor"=> 132,
        "fraction_nitrogen_protein"=> "50%"
    ],
    "industrial_fruit_vegetable"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_red_meat"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_poultry"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_pulp_paper"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "1990": {
        "fruits_vegetables": 3214.0,
        "industrial_ch4": 12856.0,
        "municipal_ch4": 3214.0,
        "municipal_n2o": 3214.0,
        "poultry": 3214.0,
        "pulp_paper": 3214.0,
        "red_meat": 3214.0,
        "total_emissions": 19284.0
    }
}

MUNICIPAL METHANE

curl --location --request POST 'https://api2.dynmhx.io/epa/wastewater/municipal-ch4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "population": 2362712,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "population": 2362712,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
};

 fetch(`https://api2.dynmhx.io/epa/wastewater/municipal-ch4`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/wastewater/municipal-ch4"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "population": 2362712,
  "municipal_methane": {
    "per_capita_bod": 10,
    "bod_fraction_digested": "10%",
    "emission_factor": 100
  },
  "municipal_nitrogen": {
    "non_consumption_nitrogen": 10,
    "fraction_not_on_septic": "1%",
    "direct_emissions": 1000
  },
  "municipal_nitrogen_biosolid": {
    "emission_factor": 132,
    "fraction_nitrogen_protein": "50%"
  },
  "industrial_fruit_vegetable": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_red_meat": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_poultry": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_pulp_paper": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/wastewater/municipal-ch4";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "population"=> 2362712,
    "municipal_methane"=> [
        "per_capita_bod"=> 10,
        "bod_fraction_digested"=> "10%",
        "emission_factor"=> 100
    ],
    "municipal_nitrogen"=> [
        "non_consumption_nitrogen"=> 10,
        "fraction_not_on_septic"=> "1%",
        "direct_emissions"=> 1000
    ],
    "municipal_nitrogen_biosolid"=> [
        "emission_factor"=> 132,
        "fraction_nitrogen_protein"=> "50%"
    ],
    "industrial_fruit_vegetable"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_red_meat"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_poultry"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_pulp_paper"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 7912.427149000001,
    "mmtco2e": 2136.3553302300006,
    "mtch4": 86238988.00000001
}

MUNICIPAL NITROGEN

curl --location --request POST 'https://api2.dynmhx.io/epa/wastewater/municipal-n2o' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "population": 2362712,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "population": 2362712,
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
};

 fetch(`https://api2.dynmhx.io/epa/wastewater/municipal-n2o`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/wastewater/municipal-n2o"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "population": 2362712,
  "municipal_methane": {
    "per_capita_bod": 10,
    "bod_fraction_digested": "10%",
    "emission_factor": 100
  },
  "municipal_nitrogen": {
    "non_consumption_nitrogen": 10,
    "fraction_not_on_septic": "1%",
    "direct_emissions": 1000
  },
  "municipal_nitrogen_biosolid": {
    "emission_factor": 132,
    "fraction_nitrogen_protein": "50%"
  },
  "industrial_fruit_vegetable": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_red_meat": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_poultry": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_pulp_paper": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/wastewater/municipal-n2o";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "population"=> 2362712,
    "municipal_methane"=> [
        "per_capita_bod"=> 10,
        "bod_fraction_digested"=> "10%",
        "emission_factor"=> 100
    ],
    "municipal_nitrogen"=> [
        "non_consumption_nitrogen"=> 10,
        "fraction_not_on_septic"=> "1%",
        "direct_emissions"=> 1000
    ],
    "municipal_nitrogen_biosolid"=> [
        "emission_factor"=> 132,
        "fraction_nitrogen_protein"=> "50%"
    ],
    "industrial_fruit_vegetable"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_red_meat"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_poultry"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_pulp_paper"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 0.025840036059199996,
    "mmtco2e": 0.006976809735983999,
    "mtn2o": 23.627119999999998
}

MUNICIPAL NITROGEN EFFLUENT

curl --location --request POST 'https://api2.dynmhx.io/epa/wastewater/municipal-effluent' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "AL",
    "year": 1990,
    "population": 2362712,
    "protein": 34,
    "direct_mmtce": 3214,
    "direct_nitrogen": 24324,
    "percentage_biosolid_fertilizer": "12%",
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
}'
import fetch from "node-fetch";
const data = {
    "state": "AL",
    "year": 1990,
    "population": 2362712,
    "protein": 34,
    "direct_mmtce": 3214,
    "direct_nitrogen": 24324,
    "percentage_biosolid_fertilizer": "12%",
    "municipal_methane": {
        "per_capita_bod": 10,
        "bod_fraction_digested": "10%",
        "emission_factor": 100
    },
    "municipal_nitrogen": {
        "non_consumption_nitrogen": 10,
        "fraction_not_on_septic": "1%",
        "direct_emissions": 1000
    },
    "municipal_nitrogen_biosolid": {
        "emission_factor": 132,
        "fraction_nitrogen_protein": "50%"
    },
    "industrial_fruit_vegetable": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_red_meat": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_poultry": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    },
    "industrial_pulp_paper": {
        "ww_outflow": 10,
        "ww_organic_content": 10,
        "fraction_cod_bod": "10%",
        "emission_factor": 10
    }
};

 fetch(`https://api2.dynmhx.io/epa/wastewater/municipal-effluent`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});

import requests
import json

url = "https://api2.dynmhx.io/epa/wastewater/municipal-effluent"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "population": 2362712,
  "protein": 34,
  "direct_mmtce": 3214,
  "direct_nitrogen": 24324,
  "percentage_biosolid_fertilizer": "12%",
  "municipal_methane": {
    "per_capita_bod": 10,
    "bod_fraction_digested": "10%",
    "emission_factor": 100
  },
  "municipal_nitrogen": {
    "non_consumption_nitrogen": 10,
    "fraction_not_on_septic": "1%",
    "direct_emissions": 1000
  },
  "municipal_nitrogen_biosolid": {
    "emission_factor": 132,
    "fraction_nitrogen_protein": "50%"
  },
  "industrial_fruit_vegetable": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_red_meat": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_poultry": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  },
  "industrial_pulp_paper": {
    "ww_outflow": 10,
    "ww_organic_content": 10,
    "fraction_cod_bod": "10%",
    "emission_factor": 10
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/wastewater/municipal-effluent";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "population"=> 2362712,
    "protein"=> 34,
    "direct_mmtce"=> 3214,
    "direct_nitrogen"=> 24324,
    "percentage_biosolid_fertilizer"=> "12%",
    "municipal_methane"=> [
        "per_capita_bod"=> 10,
        "bod_fraction_digested"=> "10%",
        "emission_factor"=> 100
    ],
    "municipal_nitrogen"=> [
        "non_consumption_nitrogen"=> 10,
        "fraction_not_on_septic"=> "1%",
        "direct_emissions"=> 1000
    ],
    "municipal_nitrogen_biosolid"=> [
        "emission_factor"=> 132,
        "fraction_nitrogen_protein"=> "50%"
    ],
    "industrial_fruit_vegetable"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_red_meat"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_poultry"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ],
    "industrial_pulp_paper"=> [
        "ww_outflow"=> 10,
        "ww_organic_content"=> 10,
        "fraction_cod_bod"=> "10%",
        "emission_factor"=> 10
    ]
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 77022.02262353837,
    "mmtce_total": 80236.02262353837,
    "mmtco2e": 21663.726108355364,
    "mtn2o": 70425930.018048
}

The Wastewater module calculates methane (CH4) and nitrous oxide (N2O) emissions from the treatment of municipal and industrial wastewater. The module provides default data for most inputs, however other more state-specific data may be used if available.

Disposal and treatment of industrial and municipal wastewater often result in CH4 emissions. Wastewater may be treated using aerobic and/or anaerobic technologies, or if untreated, may degrade under either aerobic or anaerobic conditions. CH4 is produced when organic material is treated in anaerobic environment and when untreated wastewater degrades anaerobically, i.e., in the absence of oxygen.

N2O is emitted from both domestic and industrial wastewater containing nitrogen-rich organic matter. N2O is produced through the natural processes of nitrification and denitrification. Nitrification occurs aerobically and converts ammonia into nitrate, whereas denitrification occurs anaerobically, and converts nitrate to N2O. Human sewage is believed to constitute a significant portion of the material responsible for N2O emissions from wastewater (Spector 1997).

Required Data Inputs for the Wastewater Module

To calculate greenhouse gas emissions from wastewater, the data listed in Table 1 are required inputs (again, note that defaults are available for most of these data).

Waste Water Sectors IActivity Data and Emission Factors Required
Municipal Wastewater: CH4 Emissions Per capita 5-day biochemical oxygen demand (BOD5) (kg/day)
Fraction of wastewater BOD5 anaerobically digested
Emission factor (Gg CH4/Gg BOD5)
State population
Municipal Wastewater: Direct N2O Emissions Factor for non-consumption nitrogen
Fraction of population not on septic
Direct wastewater treatment plant emissions (g N2O/person/year)
Municipal Wastewater: N2O Emissions from Biosolids Emission factor (kg N2O-N/kg sewage N produced)
Fraction of nitrogen in protein (FracNPR)
Protein content (kg/person/year)
Biosolids used as fertilizer (percentage)
Industrial Wastewater: Fruits and Vegetables
Industrial Wastewater: Red Meat
Industrial Wastewater: Poultry
Wastewater Outflow (m3/metric ton)
WW organic content - chemical oxygen demand (COD) (g/L)
Fraction of COD anaerobically degraded
Emission factor (g CH4/g COD)
Production processed (metric tons)
Industrial Wastewater: Pulp and Paper Wastewater Outflow (m3/metric ton)
WW organic content - chemical oxygen demand (COD) (g/L)
Fraction of COD anaerobically degraded
Emission factor (g CH4/g COD)
Production processed of woodpulp and paper & paperboard (metric tons)

In highly organic wastewater streams, e.g., streams from food processing plants or pulp and paper plants, the available oxygen in the water is rapidly depleted as the organic matter decomposes. The organic content (sometimes known as “loading”) of these wastewater streams is expressed in terms of biochemical oxygen demand, or BOD. BOD represents the amount of oxygen taken up by the organic matter in the wastewater during decomposition. Alternatively, the chemical oxygen demand (COD) is often used to characterize industrial wastewater. COD refers to the amount of oxygen consumed during the oxidation of both organic matter and oxidizable inorganic matter. Under the same conditions, wastewater with a higher BOD or COD will produce more CH4 than wastewater with a lower BOD/COD.

Direct N2O Emissions from Municipal Wastewater Treatment

Direct N2O emissions from municipal wastewater treatment are calculated by multiplying total population served, by the fraction of the population not using septic systems, by an N2O emission factor per person per year, and then converting to MMTCO2E as seen in Equation 4.1 Direct N2O Emissions from Municipal Wastewater Treatment Equation

Municipal Wastewater N2O Emissions

Municipal wastewater N2O emissions from biosolids are calculated by multiplying the state population by the total annual protein consumption, by the nitrogen content of protein and fraction of nitrogen not consumed, and by an N2O emission factor per metric ton of nitrogen treated, then subtracting direct emissions as well as the percentage of biosolids used as fertilizer, and finally converting to MMTCO2E. Direct and biosolids N2O emissions are then added to produce an estimate of total municipal wastewater treatment N2O emissions. This calculation is shown below in Equation 4.2.

N2O Emissions from Biosolids Municipal Wastewater Treatment Equation

Industrial Wastewater CH4 – Fruits and Vegetables

This endpoint calculates emissions from wastewater used for fruits and vegetables.

Emissions from treatment of industrial wastewater from processing fruits and vegetables are based on annual production in metric tons, multiplied by the volume of wastewater produced per unit production, the average organic matter content of wastewater from those processes, the CH4 emission factor, the percent treated anaerobically, and then converted to MMTCO2E as shown in Equation 4.3.

CH4 Emissions from Industrial Wastewater for Fruits and Vegetables Equation

Industrial Wastewater CH4 – Red Meat

This endpoint calculates emissions from wastewater from red meat processing. The required input is the amount of red meat processed in metric tons.

Emissions from treatment of industrial wastewater from red meat are based on annual production in metric tons, multiplied by the volume of wastewater produced per unit production, the average organic matter content of wastewater from those processes, the CH4 emission factor, the percent treated anaerobically, and then converted to MMTCO2E as shown in Equation 4.4.

CH4 Emissions from Industrial Wastewater for Red Meat Equation

Industrial Wastewater CH4 - Poultry Worksheet

This endpoint calculates emissions from wastewater used for poultry. The required input is amount of poultry production processed in metric tons.

Equation 4.5 shows that emissions from treatment of industrial wastewater from poultry are based on annual production in metric tons, multiplied by the volume of wastewater produced per unit production, the average organic matter content of wastewater from those processes, the CH4 emission factor, the percent treated anaerobically, with the total then converted to MMTCO2E.

CH4 Emissions from Industrial Wastewater for Poultry Equation

Industrial Wastewater CH4 - Pulp and Paper

This endpoint calculates emissions from wastewater used for pulp and paper. The required data is the amount in metric tons of (1) woodpulp and (2) paper and paperboard processed

As shown in Equation 4.6, emissions from treatment of industrial wastewater from pulp and paper are based on annual woodpulp, paper, and paperboard produced in metric tons, multiplied by the volume of wastewater produced per unit production, the average organic matter content of wastewater from those processes, the CH4 emission factor, and the percent treated anaerobically. The total emissions are then converted to MMTCO2E.

CH4 Emissions from Industrial Wastewater for Pulp and Paper Equation

CH4 Emissions from Municipal Wastewater Treatment

The CH4 emissions from municipal wastewater treatment are calculated by multiplying the state population by the total annual BOD5 production in metric tons, by the fraction that is treated anaerobically, and by the CH4 produced per metric ton of BOD5 (i.e. the emission factor); the total is then converted to million metric tons carbon dioxide equivalent (MMTCO2E). This calculation is shown in Equation 4.7

CH4 Emissions from Municipal Wastewater Treatment Equation

Emissions Summary in the Wastewater

Transportation

TRANSPORTATION - PRODUCTION

curl --location --request POST 'https://api2.dynmhx.io/epa/transportation/production' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "activity_data": 100,
    "emission_factor": 21.2
}'
import fetch from "node-fetch";
const data ={
    "state": "AL",
    "year": 1990,
    "activity_data": 100,
    "emission_factor": 21.2
};

 fetch(`https://api2.dynmhx.io/epa/transportation/production`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/transportation/production"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "activity_data": 100,
  "emission_factor": 21.2
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/transportation/production";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "activity_data"=> 100,
    "emission_factor"=> 21.2
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "MMTCH4": 0.053,
    "MTCH4": 2120.0
}

TRANSPORTATION - TRANSMISSION

curl --location --request POST 'https://api2.dynmhx.io/epa/transportation/transmission' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "activity_data": 100,
    "emission_factor": 21.2
}'
import fetch from "node-fetch";
const data ={
    "state": "AL",
    "year": 1990,
    "activity_data": 100,
    "emission_factor": 21.2
};

 fetch(`https://api2.dynmhx.io/epa/transportation/transmission`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/transportation/transmission"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "activity_data": 100,
  "emission_factor": 21.2
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/transportation/transmission";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "activity_data"=> 100,
    "emission_factor"=> 21.2
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "MMTCH4": 0.053,
    "MTCH4": 2120.0
}

TRANSPORTATION - NATURAL GAS VENTED AND FLARING

curl --location --request POST 'https://api2.dynmhx.io/epa/transportation/venting-flaring' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "activity_data": 100,
    "emission_factor": 21.2,
    "percent_flared": "10%"
}'
import fetch from "node-fetch";
const data ={
    "state": "AL",
    "year": 1990,
    "activity_data": 100,
    "emission_factor": 21.2,
    "percent_flared": "10%"
};

 fetch(`https://api2.dynmhx.io/epa/transportation/venting-flaring`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/transportation/venting-flaring"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "activity_data": 100,
  "emission_factor": 21.2,
  "percent_flared": "10%"
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/transportation/venting-flaring";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "activity_data"=> 100,
    "emission_factor"=> 21.2,
    "percent_flared"=> "10%"
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "MMTCO2E": 0.000212,
    "MTCO2": 2120.0
}

TRANSPORTATION - PETROLEUM SYSTEMS

curl --location --request POST 'https://api2.dynmhx.io/epa/transportation/petroleum-systems' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "activity_data": 100,
    "emission_factor": 21.2
}'
import fetch from "node-fetch";
const data ={
    "state": "AL",
    "year": 1990,
    "activity_data": 100,
    "emission_factor": 21.2
};

 fetch(`https://api2.dynmhx.io/epa/transportation/petroleum-systems`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/transportation/petroleum-systems"

payload = json.dumps({
  "state": "AL",
  "year": 1990,
  "activity_data": 100,
  "emission_factor": 21.2
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/transportation/petroleum-systems";
  $ch = curl_init($url);
  $postData = array(
    "state"=> "AL",
    "year"=> 1990,
    "activity_data"=> 100,
    "emission_factor"=> 21.2
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "MMTCO2E": 5.3e-05,
    "MTCH4": 2.12
}

TRANSPORTATION - SUMMARY

curl --location --request POST 'https://api2.dynmhx.io/epa/transportation/summary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "natural_gas_mmtco2": 100,
    "natural_gas_production_mtch4": 21.2,
    "natural_gas_transmission_mtch4": 232,
    "natural_gas_distribution_mtch4": 546,
    "oil_mtch4": 5856
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "natural_gas_mmtco2": 100,
    "natural_gas_production_mtch4": 21.2,
    "natural_gas_transmission_mtch4": 232,
    "natural_gas_distribution_mtch4": 546,
    "oil_mtch4": 5856
};

 fetch(`https://api2.dynmhx.io/epa/transportation/summary`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/transportation/summary"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "natural_gas_mmtco2": 100,
  "natural_gas_production_mtch4": 21.2,
  "natural_gas_transmission_mtch4": 232,
  "natural_gas_distribution_mtch4": 546,
  "oil_mtch4": 5856
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/transportation/summary";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "natural_gas_mmtco2"=> 100,
    "natural_gas_production_mtch4"=> 21.2,
    "natural_gas_transmission_mtch4"=> 232,
    "natural_gas_distribution_mtch4"=> 546,
    "oil_mtch4"=> 5856
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "natural_gas_distribution_mtch4": 546.0,
    "natural_gas_mmtco2e": 100.01998,
    "natural_gas_mtco2": 100.0,
    "natural_gas_production_mtch4": 21.2,
    "natural_gas_transmission_mtch4": 232.0,
    "oil_mmtco2e": 100.1464,
    "oil_mtch4": 5856.0,
    "year": 1990
}

The Transportation module calculates methane (CH4) and nitrous oxide (N2O) emissions from highway vehicles, aviation, boats and vessels, locomotives, other non-highway sources, and alternative fuel vehicles. This module also includes optional calculations of carbon dioxide (CO2) from these sources, which are also calculated in the CO2 from Fossil Fuel Combustion (CO2FFC) module. The Mobile Combustion module-based CO2 calculations provide detail by transportation mode not available in the CO2FFC module.

The mobile combustion emissions calculator provided by the Environmental Protection Agency (EPA) computes emissions for highway vehicles based on vehicle miles traveled (VMT) using eight control technologies and seven vehicle classes from the Federal Highway Administration (FHWA). The calculator differentiates between three-way catalyst, early three-way catalyst, oxidation catalyst, non-catalyst, low-emission vehicle, advanced, moderate, and uncontrolled technologies to compute the emissions. For other transportation types, the emissions are calculated based on the fuel consumption in either gallons or British thermal units (BTU).

Methane (CH4) emissions are produced as a combustion product and are influenced by fuel composition, combustion conditions, and control technologies. For highway vehicles, uncontrolled engines with a high air/fuel ratio generally produce the lowest emissions of unburned hydrocarbons, including CH4. However, these conditions also favor the formation of nitrogen oxides, a major air pollutant. Modern closed loop catalyst highway vehicles achieve the lowest emissions when hydrogen, carbon, and oxygen are present in the ideal combination for complete combustion. Aggressive driving, low speed operation, and cold start operation are conditions that favor high CH4 emissions, while poorly tuned engines may have particularly high CH4 output.

Nitrous oxide (N2O) formation in internal combustion engines is not yet well understood, and data on these emissions are scarce. N2O emissions may come from two distinct processes. The first process involves the formation of N2O during combustion in the cylinder as nitrogen oxide interacts with combustion intermediates such as imidogen (NH) and cyanate (NCO). The second process occurs during catalytic after-treatment of exhaust gases, and the output of N2O from the catalyst is highly temperature-dependent. N2O is primarily formed during cold starts of catalyst-equipped vehicles, explaining why N2O emissions data for the Federal Test Procedure are much higher than data for the U.S. Highway Fuel Economy Test.

Emissions of CH4 and N2O from non-highway mobile sources such as jet aircraft, gasoline-fueled piston aircraft, agricultural and construction equipment, railway locomotives, boats, and ships have received relatively little study. However, except for aircraft, which are fueled by jet fuel or gasoline, all these sources are typically equipped with diesel engines.

Module Worksheet Input Data Required
4a Highway Vehicles - Emission Factors and VMT CH4 and N2O emission factors (g/km traveled) for each type of control technology
State total VMT, 1990-present, for all vehicle types
4b Highway Vehicles - Allocating VMT by Model Year Annual vehicle mileage accumulation (miles) for each model year in use
Age distribution of vehicles (%) in the current year
4c Highway Vehicles - Allocating Control Technology by Model Year Percentage of vehicles with each control type, 1960-present
5 Aviation Factors and Fuel Consumption Energy contents (kg/million BTU) for kerosene jet fuel, naphtha jet fuel, and aviation gasoline
N2O and CH4 emission factors (g/kg fuel) for each type of fuel
Aviation fuel consumption (million BTU), 1990-present
6 Marine Factors and Fuel Consumption Density factors (kg/gal) for residual fuel, distillate fuel, and motor gasoline
N2O and CH4 emission factors (g/kg fuel) for each type of fuel
Marine fuel consumption (gallons), 1990-present
7 Locomotive Factors and Fuel Consumption Density factors (kg/gal or ton) for residual fuel, diesel fuel, and coal
N2O and CH4 emission factors (g/kg fuel) for each type of fuel
Locomotive fuel consumption (gal or tons), 1990-present
8 Other Non-Highway Factors and Fuel Consumption Density factors (kg/gal) for diesel and gasoline
N2O and CH4 emission factors (g/kg fuel) for diesel and gasoline tractors, construction equipment, snowmobiles, and other equipment
Fuel consumption (gal), 1990-present, for the above types of equipment
9 Alternative Fuel Vehicles Factors and VMT CH4 and N2O emission factors (g/km traveled) for each type of alternative fuel (methanol, ethanol, LPG, LNG, CNG)
State total VMT, 1990-present, for alternative fuel vehicles

The Transportation module automatically calculates emissions once you have entered the required data on the endpoints.

General Mobile Combustion Equation

Agriculture

AGRICULTURE - ENTERIC FERMENTATION

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/enteric-fermentation' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "animal_group_name": "Dairy Cattle",
    "animal_type": "Dairy Cows",
    "animal_population": 1000,
    "emission_factor": 10
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "animal_group_name": "Dairy Cattle",
    "animal_type": "Dairy Cows",
    "animal_population": 1000,
    "emission_factor": 10
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/enteric-fermentation`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/enteric-fermentation"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "animal_group_name": "Dairy Cattle",
  "animal_type": "Dairy Cows",
  "animal_population": 1000,
  "emission_factor": 10
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/enteric-fermentation";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "animal_group_name"=> "Dairy Cattle",
    "animal_type"=> "Dairy Cows",
    "animal_population"=> 1000,
    "emission_factor"=> 10
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "emission_factor": 10.0,
    "kg_CH4": 10000000.0,
    "mmtce": 0.0675,
    "mmtch4": 0.01,
    "mmtco2e": 0.0027
}

AGRICULTURE - CH4 FROM MANURE MANAGEMENT

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/manure-management-ch4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "animal_group_name": "Dairy Cattle",
    "animal_type": "Dairy Cows",
    "animal_population": 1000,
    "typical_animal_mass": 10,
    "volatile_solids": 1,
    "max_potential_emissions": 0.01,
    "weighted_mcf": 0.001
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "animal_group_name": "Dairy Cattle",
    "animal_type": "Dairy Cows",
    "animal_population": 1000,
    "typical_animal_mass": 10,
    "volatile_solids": 1,
    "max_potential_emissions": 0.01,
    "weighted_mcf": 0.001
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/manure-management-ch4`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/manure-management-ch4"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "animal_group_name": "Dairy Cattle",
  "animal_type": "Dairy Cows",
  "animal_population": 1000,
  "typical_animal_mass": 10,
  "volatile_solids": 1,
  "max_potential_emissions": 0.01,
  "weighted_mcf": 0.001
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/manure-management-ch4";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "animal_group_name"=> "Dairy Cattle",
    "animal_type"=> "Dairy Cows",
    "animal_population"=> 1000,
    "typical_animal_mass"=> 10,
    "volatile_solids"=> 1,
    "max_potential_emissions"=> 0.01,
    "weighted_mcf"=> 0.001
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "mmtce": 0.0004509000000000001,
    "mmtch4": 6.680000000000001e-05,
    "mmtco2e": 0.0016700000000000003,
    "mtch4": 66.80000000000001,
    "total_vs": 10000.0
}

AGRICULTURE - N2O FROM MANURE MANAGEMENT

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/manure-management-n2o' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "animal_group_name": "Dairy Cattle",
    "animal_type": "Dairy Cows",
    "animal_population": 1000,
    "k_nitrogen": 0.1,
    "tam_nex_rate": 0.05
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "animal_group_name": "Dairy Cattle",
    "animal_type": "Dairy Cows",
    "animal_population": 1000,
    "k_nitrogen": 0.1,
    "tam_nex_rate": 0.05
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/manure-management-n2o`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/manure-management-n2o"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "animal_group_name": "Dairy Cattle",
  "animal_type": "Dairy Cows",
  "animal_population": 1000,
  "k_nitrogen": 0.1,
  "tam_nex_rate": 0.05
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/manure-management-n2o";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "animal_group_name"=> "Dairy Cattle",
    "animal_type"=> "Dairy Cows",
    "animal_population"=> 1000,
    "k_nitrogen"=> 0.1,
    "tam_nex_rate"=> 0.05
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "liquid_n2o_emissions": 2400.0,
    "mmtce": 0.0033379405714285713,
    "mmtco2e": 0.012362742857142856,
    "mtce": 3337.9405714285713,
    "solid_n2o_emissions": 24000.0,
    "total_n2o_emissions": 41485.71428571428
}

AGRICULTURE - AG SOILS PLANT RESIDUES AND LEGUMES

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/soils/plant-residues' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "plant_name": "All Wheat",
    "units": "Bushels",
    "crop_production": 1000,
    "residue_dry_matter": 0.1,
    "fraction_residue_applied": 0.05,
    "nitrogen_content_residue": 0.3
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "plant_name": "All Wheat",
    "units": "Bushels",
    "crop_production": 1000,
    "residue_dry_matter": 0.1,
    "fraction_residue_applied": 0.05,
    "nitrogen_content_residue": 0.3
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/soils/plant-residues`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/soils/plant-residues"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "plant_name": "All Wheat",
  "units": "Bushels",
  "crop_production": 1000,
  "residue_dry_matter": 0.1,
  "fraction_residue_applied": 0.05,
  "nitrogen_content_residue": 0.3
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/soils/plant-residues";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "plant_name"=> "All Wheat",
    "units"=> "Bushels",
    "crop_production"=> 1000,
    "residue_dry_matter"=> 0.1,
    "fraction_residue_applied"=> 0.05,
    "nitrogen_content_residue"=> 0.3
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "crop_production_metric_tons": 27215.443,
    "nitrogen_fixed": 0.0,
    "nitrogen_returned": 40823.164500000006,
    "plant_name": "All Wheat"
}

AGRICULTURE - AG SOILS HISTOSOLS

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/soils/histosols' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "climate_type": "Temperate Climate",
    "cultivated_acreage": 100
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "climate_type": "Temperate Climate",
    "cultivated_acreage": 100
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/soils/histosols`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/soils/histosols"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "climate_type": "Temperate Climate",
  "cultivated_acreage": 100
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/soils/histosols";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "climate_type"=> "Temperate Climate",
    "cultivated_acreage"=> 100
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "hectares_cultivated": 40.46944556859571,
  "mmtce": 4.093472856564722e-05,
  "mmtco2e": 0.0001516101057986934,
  "n2o_kg": 323.7555645487657,
  "n2o_mt": 0.5087587442909175
}

AGRICULTURE - AG SOILS PLANT RESIDUE AND HISTOSOLS SUMMARY

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/soils/plant-residues-summary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "total_crop_production_mt": 100,
    "total_nitrogen_returned": 0.3,
    "total_nitrogen_fixed": 0.5
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "total_crop_production_mt": 100,
    "total_nitrogen_returned": 0.3,
    "total_nitrogen_fixed": 0.5
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/soils/plant-residues-summary`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/soils/plant-residues-summary"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "total_crop_production_mt": 100,
  "total_nitrogen_returned": 0.3,
  "total_nitrogen_fixed": 0.5
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/soils/plant-residues-summary";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "total_crop_production_mt"=> 100,
    "total_nitrogen_returned"=> 0.3,
    "total_nitrogen_fixed"=> 0.5
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "direct_n2o_emissions": {
        "legumes": 7.857142857142858e-06,
        "residues": 4.714285714285714e-06
    },
    "mmtce": {
        "legumes": 7.11888782358581e-15,
        "residues": 4.271332694151486e-15
    },
    "mmtco2e": {
        "legumes": 1.5819750719079576e-14,
        "residues": 1.5819750719079576e-14
    }
}

AGRICULTURE - AG SOILS PLANT FERTILIZERS

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/soils/fertilizers' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "rows": [
        {
            "name": "Synthetic",
            "fertilizer_use": 2000,
            "next_year_use": 1800
        },
        {
            "name": "Dried Manure",
            "fertilizer_use": 100,
            "next_year_use": 150
        }
    ]
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "rows": [
        {
            "name": "Synthetic",
            "fertilizer_use": 2000,
            "next_year_use": 1800
        },
        {
            "name": "Dried Manure",
            "fertilizer_use": 100,
            "next_year_use": 150
        }
    ]
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/soils/fertilizers`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/soils/fertilizers"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "rows": [
      {
          "name": "Synthetic",
          "fertilizer_use": 2000,
          "next_year_use": 1800
      },
      {
          "name": "Dried Manure",
          "fertilizer_use": 100,
          "next_year_use": 150
      }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/soils/fertilizers";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "rows"=> array(
        array(
            "name"=> "Synthetic",
            "fertilizer_use"=> 2000,
            "next_year_use"=> 1800
        ),
        array(
            "name"=> "Dried Manure",
            "fertilizer_use"=> 100,
            "next_year_use"=> 150
        )
    )
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "mmtce": {
      "direct": 2.196213171428571e-06,
      "indirect": 2.4402368571428574e-07
  },
  "mmtco2e": {
      "direct": 8.134122857142855e-06,
      "indirect": 9.037914285714286e-07
  },
  "mtn2o": {
      "direct": 0.027295714285714284,
      "indirect": 0.003032857142857143
  },
  "total_n_fertilizer_calendar_year": {
      "Dried Manure": 117.5,
      "Synthetic": 1930.0,
      "dried_manure_percent_year": 100.0,
      "manure_organics_year": 117.5,
      "non_manure_organics_year": 0.0,
      "total_organic_year": 117.5
  },
  "total_n_fertilizer_use": {
      "dried_manure_percent": 100.0,
      "manure_organics": 100.0,
      "non_manure_organics": 0.0,
      "organic": 100.0
  },
  "unvolatized_nitrogen": {
      "manure": 1737.0,
      "non_manure": 0.0
  },
  "volatized_nitrogen": {
      "manure": 193.0,
      "non_manure": 0.0
  }
}

AGRICULTURE - AG SOILS ANIMALS

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/soils/animals' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "animal_group_name": "Dairy Cattle",
    "animal_type": "Dairy Cows",
    "animal_population": 1000,
    "k_nitrogen": 10,
    "tam_nex_rate": 1
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "animal_group_name": "Dairy Cattle",
    "animal_type": "Dairy Cows",
    "animal_population": 1000,
    "k_nitrogen": 10,
    "tam_nex_rate": 1
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/soils/animals`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/soils/animals"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "animal_group_name": "Dairy Cattle",
  "animal_type": "Dairy Cows",
  "animal_population": 1000,
  "k_nitrogen": 10,
  "tam_nex_rate": 1
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/soils/animals";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "animal_group_name"=> "Dairy Cattle",
    "animal_type"=> "Dairy Cows",
    "animal_population"=> 1000,
    "k_nitrogen"=> 10,
    "tam_nex_rate"=> 1
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "direct_manure_applied_to_soils": 640.0,
  "direct_pasture_range_paddok": 880.0,
  "indirect_n2o_emissions": 2.0,
  "managed_systems": 40000000.0,
  "total_k_nitrogen_excreted": 1000000.0,
  "unmanaged_systems_daily_spread": 24000000.0,
  "unmanaged_systems_pasture": 44000000.0
}

AGRICULTURE - AG SOILS ANIMALS SUMMARY

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/soils/animals-summary' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "unvolatized_synthetic_nitrogen": 2,
    "unvolatized_organic_nitrogen": 2,
    "total_direct_manure_applied_soils": 100,
    "total_direct_pasture_range_paddock": 10,
    "total_indirect_animal_n2o": 1000,
    "total_k_nitrogen_kg": 5
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "unvolatized_synthetic_nitrogen": 2,
    "unvolatized_organic_nitrogen": 2,
    "total_direct_manure_applied_soils": 100,
    "total_direct_pasture_range_paddock": 10,
    "total_indirect_animal_n2o": 1000,
    "total_k_nitrogen_kg": 5
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/soils/animals-summary`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/soils/animals-summary"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "unvolatized_synthetic_nitrogen": 2,
  "unvolatized_organic_nitrogen": 2,
  "total_direct_manure_applied_soils": 100,
  "total_direct_pasture_range_paddock": 10,
  "total_indirect_animal_n2o": 1000,
  "total_k_nitrogen_kg": 5
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/soils/animals";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "unvolatized_synthetic_nitrogen"=> 2,
    "unvolatized_organic_nitrogen"=> 2,
    "total_direct_manure_applied_soils"=> 100,
    "total_direct_pasture_range_paddock"=> 10,
    "total_indirect_animal_n2o"=> 1000,
    "total_k_nitrogen_kg"=> 5
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
    "direct_n2o_emissions": {
        "manure_soils": {
            "mmtce": 0.013908085714285714,
            "mmtco2e": 5.268214285714285e-09,
            "mtn2o": 172.85714285714286
        },
        "pasture_range_and_paddock": {
            "mmtce": 0.0012643714285714284,
            "mmtco2e": 0.0003413802857142857,
            "mtn2o": 15.714285714285714
        },
        "total": {
            "mmtce": 0.02384243265306123,
            "mmtco2e": 0.006437456816326533,
            "mtn2o": 296.32653061224494
        }
    },
    "indirect_n2o_emissions": {
        "total": {
            "mmtce": 0.12643714285714286,
            "mmtco2e": 0.03413802857142857,
            "mtn2o": 1571.4285714285713
        }
    },
    "leaching_and_runoff": {
        "fertilizer_runoff_leached": 0.0012,
        "manure_runoff_leached": 0.0015,
        "total_runoff_leached": 0.0102
    },
    "leaching_and_runoff_emissions": {
        "fertilizer": {
            "mmtce": 1.1379342857142855e-09,
            "mmtco2e": 4.214571428571428e-09,
            "mtn2o": 1.414285714285714e-05
        },
        "manure": {
            "mmtce": 1.422417857142857e-09,
            "mmtco2e": 5.268214285714285e-09,
            "mtn2o": 1.767857142857143e-05
        },
        "total": {
            "mmtce": 4.023410510204081e-09,
            "mmtco2e": 1.4901520408163263e-08,
            "mtn2o": 5.000510204081632e-05
        }
    }
}

AGRICULTURE - CH4 FROM RICE CULTIVATION

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/rice-cultivation' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "season": "Primary",
    "season_emission_factor": 2,
    "area_harvested": 100
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "season": "Primary",
    "season_emission_factor": 2,
    "area_harvested": 100
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/rice-cultivation`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/rice-cultivation"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "season": "Primary",
  "season_emission_factor": 2,
  "area_harvested": 100
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/rice-cultivation";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "season"=> "Primary",
    "season_emission_factor"=> 2,
    "area_harvested"=> 100
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "area_harvested_hectares": 40469.44556859571,
  "ch4_kg": 80938.89113719141,
  "mmtce": 0.0005463375151760421,
  "mmtch4": 8.093889113719141e-05,
  "mmtco2e": 0.0002997736708784867
}

AGRICULTURE - CARBON DIOXIDE FROM LIMING OF SOILS

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/soil-liming' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "rows": [
        {
            "lime_type": "Limestone",
            "total_applied": 10,
            "emission_factor": 2.5
        },
        {
        "lime_type": "Dolomite",
        "total_applied": 24,
        "emission_factor": 4.8
        }
    ]
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "rows": [
        {
            "lime_type": "Limestone",
            "total_applied": 10,
            "emission_factor": 2.5
        },
        {
        "lime_type": "Dolomite",
        "total_applied": 24,
        "emission_factor": 4.8
        }
    ]
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/soil-liming`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/soil-liming"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "rows": [
      {
          "lime_type": "Limestone",
          "total_applied": 10,
          "emission_factor": 2.5
      },
      {
      "lime_type": "Dolomite",
      "total_applied": 24,
      "emission_factor": 4.8
      }
  ]
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/soil-liming";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "rows"=> array(
        array(
            "lime_type"=> "Limestone",
            "total_applied"=> 10,
            "emission_factor"=> 2.5
        ),
        array(
        "lime_type"=> "Dolomite",
        "total_applied"=> 24,
        "emission_factor"=> 4.8
        )
    )
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "dolomite": 426666.66666666657,
  "limestone": 92592.59259259258,
  "mmtco2e": 0.5192592592592592
}

AGRICULTURE - CO2 FROM UREA FERTILIZATION

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/urea-fertilization' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "total_urea": 100,
    "emission_factor": 5
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "total_urea": 100,
    "emission_factor": 5
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/urea-fertilization`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/urea-fertilization"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "total_urea": 100,
  "emission_factor": 5
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/urea-fertilization";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "total_urea"=> 100,
    "emission_factor"=> 5
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "mmtco2e": 0.000135,
  "mtco2e": 135.0
}

AGRICULTURE - CH4 FROM RESIDUE BURNING

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/residue-burning-ch4' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "crop": "All Wheat",
    "units": "Bushels",
    "crop_production": 1000,
    "residue_crop_ratio": 0.8,
    "fraction_residue_burned": 0.02,
    "dry_matter_function": 1,
    "burning_efficiency": 0.9,
    "combustion_efficiency": 0.96,
    "carbon_content": 500
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "crop": "All Wheat",
    "units": "Bushels",
    "crop_production": 1000,
    "residue_crop_ratio": 0.8,
    "fraction_residue_burned": 0.02,
    "dry_matter_function": 1,
    "burning_efficiency": 0.9,
    "combustion_efficiency": 0.96,
    "carbon_content": 500
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/residue-burning-ch4`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/residue-burning-ch4"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "crop": "All Wheat",
  "units": "Bushels",
  "crop_production": 1000,
  "residue_crop_ratio": 0.8,
  "fraction_residue_burned": 0.02,
  "dry_matter_function": 1,
  "burning_efficiency": 0.9,
  "combustion_efficiency": 0.96,
  "carbon_content": 500
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/residue-burning-ch4";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "crop"=> "All Wheat",
    "units"=> "Bushels",
    "crop_production"=> 1000,
    "residue_crop_ratio"=> 0.8,
    "fraction_residue_burned": 0.02,
    "dry_matter_function"=> 1,
    "burning_efficiency"=> 0.9,
    "combustion_efficiency"=> 0.96,
    "carbon_content"=> 500
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "mmtce": 0.00846509139072,
  "mmtco2e": 0.031352190336,
  "mtch4": 1254.08761344,
  "total_released_carbon": 188113.142016
}

AGRICULTURE - N2O FROM RESIDUE BURNING

curl --location --request POST 'https://api2.dynmhx.io/epa/agriculture/residue-burning-n2o' \
--header 'Content-Type: application/json' \
--data-raw '{
    "year": 1990,
    "state": "AL",
    "crop": "All Wheat",
    "units": "Bushels",
    "crop_production": 1000,
    "residue_crop_ratio": 0.8,
    "fraction_residue_burned": 0.02,
    "dry_matter_function": 1,
    "burning_efficiency": 0.9,
    "combustion_efficiency": 0.96,
    "nitrogen_content": 500
}'
import fetch from "node-fetch";
const data ={
    "year": 1990,
    "state": "AL",
    "crop": "All Wheat",
    "units": "Bushels",
    "crop_production": 1000,
    "residue_crop_ratio": 0.8,
    "fraction_residue_burned": 0.02,
    "dry_matter_function": 1,
    "burning_efficiency": 0.9,
    "combustion_efficiency": 0.96,
    "carbon_content": 500
};

 fetch(`https://api2.dynmhx.io/epa/agriculture/residue-burning-n2o`,
 {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => {
  console.log("Success:", data);
})
.catch((error) => {
  console.error("Error:", error);
});
import requests
import json

url = "https://api2.dynmhx.io/epa/agriculture/residue-burning-n2o"

payload = json.dumps({
  "year": 1990,
  "state": "AL",
  "crop": "All Wheat",
  "units": "Bushels",
  "crop_production": 1000,
  "residue_crop_ratio": 0.8,
  "fraction_residue_burned": 0.02,
  "dry_matter_function": 1,
  "burning_efficiency": 0.9,
  "combustion_efficiency": 0.96,
  "carbon_content": 500
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

<?php
  $url = "https://api2.dynmhx.io/epa/agriculture/residue-burning-n2o";
  $ch = curl_init($url);
  $postData = array(
    "year"=> 1990,
    "state"=> "AL",
    "crop"=> "All Wheat",
    "units"=> "Bushels",
    "crop_production"=> 1000,
    "residue_crop_ratio"=> 0.8,
    "fraction_residue_burned": 0.02,
    "dry_matter_function"=> 1,
    "burning_efficiency"=> 0.9,
    "combustion_efficiency"=> 0.96,
    "carbon_content"=> 500
);

  curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, // set post data to true
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData),   // post data
    CURLOPT_HTTPHEADER => array("Content-Type: application/json")
  ));

  $response = curl_exec($ch);
  curl_close ($ch);
  $data = json_decode($response, true); // decode the json response
  var_dump($data);
?>

RESPONSE : 200

{
  "mmtce": 0.166491417472681,
  "mmtco2e": 0.6166348795284481,
  "mtno2": 2069.2445621760003,
  "total_released_nitrogen": 188113.142016
}

This section provides a guide to using the Ag module of the SIT to estimate CO2, CH4, and N2O emissions from livestock and crop production. Within the Ag module the sectors included are enteric fermentation, manure management, agricultural soils, rice cultivation, liming of soils, urea fertilization, and agricultural residue burning.

Agricultural Sectors, Data Requirements, and Gases Emitted

Endpoint Input Data Required Gas(es)
Enteric Fermentation Emission Factors by Animal Type
Animal Population Numbers
CH4
Manure Management-CH4
Manure Management-N2O
Typical Animal Mass (TAM)
Volatile Solids (VS) Production
Maximum Potential CH4 Emissions (Bo)
Kjeldahl (K) Nitrogen Excreted*
Animal Population Numbers
CH4, N2O
Ag Soils-Plant-Residues & Legumes
Ag Soils-Plant-Fertilizers
Ag Soils- Animals
Residue Dry Matter Fraction
Fraction Residue Applied
Nitrogen Content of Residue
Kjeldahl (K) Nitrogen Excreted
Crop Production
Fertilizer Utilization
TAM*
N2O
Rice Cultivation Seasonal Emission Factor
Area Harvested
CH4
Liming of Soils Emission factors for CO2 emitted from use of crushed limestone and dolomite (ton C/ton limestone)
Total limestone and dolomite applied to soils (metric tons)
CO2
Urea Fertilization Emission factors for CO2 emitted from the use of urea as a fertilizer (tons C/ton urea)
Total urea applied to soils (metric tons)
CO2
Ag. Residue Burning-CH4
Ag. Residue Burning-N2O
Residue/Crop Ratio
Fraction of Residue Burned
Dry Matter Fraction*
Burning Efficiency
Combustion Efficiency
Carbon Content
Nitrogen Content*
CH4, N2O

Enteric Fermentation

The Ag module calculates emissions for enteric fermentation by multiplying animal populations by the annual emission factor to obtain the total CH4 emitted. Then, the total CH4 emitted is converted into carbon dioxide (CO2) equivalents by multiplying by the GWP of CH4 (25). Finally, emissions are divided by 109 to express emissions in MMTCO2E. Equation 6.1 demonstrates the emission calculation for enteric fermentation.

Emission Equation For Enteric Fermentation

Manure Management

These endpoints account for emissions from animal waste during storage in a management system. Following storage in a management system it is then assumed that the manure is ultimately applied to soils, where further emissions take place.

Both CH4 and N2O are produced during the manure decomposition process. The data required for manure management sector within the control worksheet are the typical animal mass (TAM), volatile solids (VS) production, and maximum CH4 producing capacity (Bo), which are pulled into manure CH4 worksheet. Each data requirement is discussed in more detail below:

• Typical animal mass is the average mass of the entire animal population sub-category, expressed in kg.

• Volatile solids are defined as the organic fraction of the total solids in manure that will oxidize and be driven off as gas at a temperature of 1,112°F. Total solids are defined as the material that remains after evaporation of water at a temperature between 217° and 221°F. CH4 emissions from livestock are directly related to the amount of VS produced. Production of VS is reported in the tool as kg VS per head per year for cattle (excluding calves), and as kg VS per 1,000 kg of animal mass per day for calves and all other livestock (i.e., swine, poultry, sheep, goats, and horses).

• The CH4-producing capacity of livestock manure is generally expressed in terms of the quantity of CH4 that can be produced per kilogram of VS in the manure. This quantity is determined by animal type and diet and is commonly referred to as Bo with units of cubic meters of CH4 per kilogram VS (m3 CH4/kg VS).

CH4 from Manure Management

The Ag module calculates CH4 emissions for manure management by first calculating total VS produced by the state’s livestock. To do so, each animal type population is multiplied by the VS production rate, provided in kg/head/year for cattle (excluding calves), and kg/1,000 kg animal mass/day for calves and all other livestock (i.e., swine, poultry, sheep, goats, and horses). For cattle (excluding calves), animal population is multiplied by the VS rate (kg/head/year) for total VS produced. For calves and all other livestock, animal population is multiplied by the TAM (kg), VS rate (kg/1,000 kg animal mass/day), and number of days per year to obtain the total annual VS produced.

This value is multiplied by Bo, and the weighted CH4 conversion factor (MCF), resulting in m3 CH4. The total m3 CH4 emitted is converted into CO2 equivalents by multiplying by density of CH4 (0.678 kg/m3 CH4) the GWP of CH4 (25). Finally, emissions are divided by 109 to express emissions in MMTCO2E. Equation 6.2 demonstrates the calculation CH4 emissions for manure management.

Emission Equation for CH4 Manure Management

N2O from Manure Management

Production of N2O during the storage and treatment of animal wastes occurs by combined nitrification-denitrification of nitrogen contained in ammonia that is present in the wastes. In order for N2O to be produced, the manure must first be in an aerobic system, in which the nitrogen in ammonia is converted to nitrites (nitrification). Following this the manure must go through an anaerobic decomposition period, in which the nitrates are converted to N2O (denitrification). These types of conditions are most likely to occur in dry manure management systems that generally have aerobic conditions, but that can undergo periods of saturation to create the anaerobic conditions necessary for N2O emissions to occur. The amount of N2O released depends on the system and the duration of waste management.

To estimate N2O emissions from manure management, the Ag module first calculates the total K-nitrogen excreted by the state’s livestock. To do so, each animal type population is multiplied by the K-nitrogen excretion rate, provided in kg/head/year for cattle (excluding calves), and kg/1,000 kg animal mass/day for calves and all other livestock (i.e., swine, poultry, sheep, goats, and horses). For cattle (excluding calves), animal population is multiplied by the K-nitrogen excretion rate (kg/head/year) for total K-nitrogen excreted. For calves and all other livestock, animal population is multiplied by the TAM (kg), the Knitrogen excretion rate (kg/1,000 kg animal mass/day), and 365 days per year for total Knitrogen excreted.

Next separate the total K-nitrogen into the amount in liquid systems (lagoons and liquid/slurry) and dry systems (drylot and solid storage), and multiplies by the emission factor specific to these types of systems (0.001 kg N20-N/kg N for liquid systems and 0.2 kg N20-N/kg N for dry systems). Finally, total kg N2O emissions are converted to MMTCO2E by multiplying by the GWP of N2O (298) and dividing by 109 to convert from kg to MMTCO2E. Equation 6.3 demonstrates the calculation N2O emissions for manure management.

Emission Equation for N2O Manure Management

N2O from Agricultural Soils - Residues, Legumes, and Histosols

N2O is emitted from the cultivation of N-fixing crops, also known as legumes. This section estimates state emissions of N2O from N-fixing crops by using data on the amount of beans (by type), pulses (by type), and alfalfa produced in the state. In addition, data on production of non-alfalfa forage crops, such as red clover, white clover, birdsfoot trefoil, arrowleaf clover, and crimson clover are desirable.

In order to calculate the total N input from N-fixing crops, the SIT multiplies the production of each type of N fixing crop by the residue to crop mass ratio for each crop, the residue dry matter fraction, and the nitrogen content in each crop. For forage crops total N input is simply calculated as the production of N-fixing forage crops multiplied by the nitrogen content of the crop. The total N input for all N-fixing crops is multiplied by the emission factor for direct emissions of N2O (1.0 percent) to obtain the amount of emissions in N2O-N/yr. The result is converted from kg N2O-N to MMTCO2E by multiplying the emissions from crop residues by 44/28 (the molecular weight ratio of N2O/N2O-N) and by the GWP of N2O (298) and dividing by 106 to convert from metric tons to MMTCO2E. Equation 6.4 shows emission calculations from N-fixing crops.

Emission Equation for N-fixing Crops

N2O is also emitted from crop residue that is incorporated into the soil (i.e., the portion of the crop that has been neither removed from the field as crop nor burned). To estimate the total N in crop residues returned to the soil for each crop, the SIT multiplies the production of each crop by the crop residue to crop mass ratio, the dry matter fraction for residue, the fraction of residue applied (accounting for removal of crop and the fraction burned), and the N content of the residue. Next, the total N in all crop residues is multiplied by the emission factor for direct emissions of N2O (1.0 percent) to obtain the amount of emissions in N2ON/yr. The result is converted from kg N2O-N to MMTCO2E by multiplying the amount of emissions from crop residues by 44/28 (the molecular weight ratio of N2O/N2O-N) and by the GWP of N2O (298) and dividing by 109 to convert from kg to MMTCO2E. Equation 6.5 shows emission calculations from agriculture residues. Equation 6.6 shows emission calculations from histosols.

Emission Equation for Residues

Emission Equation for Histosols

N2O from Agricultural Soils - Fertilizers

This endpoint estimates both direct and indirect emissions from agricultural soils due to synthetic fertilizer use and organic fertilizer use, including dried blood, compost, tankage, and land application of sewage sludge.

Emission calculations involve several steps. Firstly, the total non-manure organic fertilizer use is multiplied by the percent of N in organic fertilizer to calculate the total N present.

Then, the volatilized and unvolatilized N are separated into direct and indirect emissions through volatilization as ammonia (NH3) and nitrogen oxides (NOx). For synthetic fertilizer, the fraction of volatilized N is assumed to be 10 percent and for organic fertilizer, it is assumed to be 20 percent.

Direct emissions are calculated by multiplying total N by 0.9 for synthetic fertilizer and 0.8 for organic fertilizer to obtain the amount of unvolatilized N. This value is multiplied by the emission factor for direct emissions of N2O (1.0 percent) to obtain the amount of emissions in N2O-N/yr.

To convert this value from kg N2O-N to kg N2O, we multiply it by the ratio of N2O/N2O-N (44/28).

Indirect emissions are calculated by multiplying the total fertilizer N that volatilizes by the volatilization emission factor (0.001 kg N2O-N/kg N) and converting from kg N2O-N to kg N2O by multiplying by the ratio of N2O/N2O-N (44/28).

Finally, to convert both direct and indirect emissions from kg N2O to MMTCO2E, we multiply them by the GWP of N2O (298) and divide by 109 to convert from kg to MMTCO2E. Equation 6.7 demonstrates the calculation for direct emissions, and indirect emissions are shown in Equation 6.8.

Direct Emission Equation for N2O Emissions from Agricultural Soils

Indirect Emission Equation for N2O Emissions from Agricultural Soils

N2O from Agricultural Soils - Animals

The SIT calculates emissions by multiplying each animal population (entered in the manure management worksheet) by the rate of N excreted by animal type, provided in kg/head/year for cattle (excluding calves), and kg/1,000 kg animal mass/day for calves and all other livestock.

For calves and all other livestock, animal population is multiplied by the TAM (kg), the K-nitrogen excretion rate (kg/1,000 kg animal mass/day), and 365 days per year for total K-nitrogen excreted. Next, the total K-nitrogen is disaggregated into manure handled in managed systems, manure applied as daily spread, and manure deposited directly into pastures, ranges, or paddocks, based on default percentages obtained from the U.S. Inventory (EPA 2022a).

Direct emissions from manure handled in management systems and applied as daily spread is multiplied by the volatilization factor (0.8) to obtain the total unvolatilized N. Additionally, for poultry an adjustment must be made for the small portion of waste used as animal feed. For all poultry categories (i.e., layers (hens, pullets, and chickens), broilers, and turkeys), the total K-nitrogen in managed systems is multiplied by 0.958, as it is assumed that 4.2 percent of all poultry manure is used as animal feed and not applied to agricultural soils (Carpenter 1992). The total unvolatilized N is multiplied by the emission factor for direct emissions of N2O (1.0 percent) to obtain the amount of emissions in N2ON/yr.

Indirect emissions from volatilization to NH3 and NOx are estimated as 20 percent of the total K-nitrogen excreted per year multiplied by the emission factor of 0.001 kg N2O-N/kg N, following the methodology of organic fertilizers, shown in Equation 8.

Indirect emissions from leaching and runoff are assumed to occur from 30 percent of the total unvolatilized N. Therefore, indirect emissions from leaching and runoff are calculated by multiplying the total unvolatilized N by 0.30 and the emission factor (0.0075 kg N2ON/kg N).

Finally, both direct and indirect emissions are converted from kg N2O-N to MMTCO2E by multiplying emissions by the molecular weight ratio of N2O/N2O-N (44/28) and by the GWP of N2O (298) and dividing by 109 to convert from kg to MMTCO2E as shown in equation 7 and 8.

Rice Cultivation

Most of the world's rice, and all of the rice in the United States5, is grown on flooded fields. When fields are flooded, aerobic decomposition of organic material gradually depletes the oxygen present in the soils and floodwater, and anaerobic conditions develop in the soils. At that point, CH4 is produced through anaerobic decomposition of organic matter by methanogenic bacteria. However, not all of the CH4 that is produced is released into the atmosphere. As much as 60 to 80 percent of the CH4 produced is oxidized by aerobic methanotrophic bacteria in the soils (Holzapfel-Pschorn et al. 1985, Sass et al. 1990). Some of the CH4 is also leached to ground water as dissolved CH4. The remaining non-oxidized CH4 is transported from the soil to the atmosphere primarily by diffusive transport through the rice plants. Additional CH4 can escape from the soil via diffusion and bubbling through the floodwaters.

CH4 emissions from rice cultivation are calculated based on the acreage of rice grown (i.e., flooded) multiplied by emission factors for the amount of CH4 emitted per flooding season. The results are converted to MMTCO2E by multiplying by the GWP of CH4 (25) and the ratio of C to CO2 (12/44) and dividing by 109 to convert from kg to million metric tons, as shown in Equation 6.9.

Emission Equation for Rice Cultivation

Liming of Soils

Limestone (CaCO3) and dolomite (CaMg(CO3)2) are added to soils by land managers to remedy acidification. When these compounds come in contact with acidic soils, they degrade, thereby generating CO2.

Equation 6.10 shows the method used to calculate CO2 emissions from liming of soils.

Emission Equation for Liming of Soils

Urea Fertilization

Urea is used as a fertilizer that results in CO2 emissions that were fixed during the industrial production process. According to U.S. EPA (2022a), urea in the presence of water and urease enzymes is converted into ammonium (NH4+), hydroxyl ion (OH-), and bicarbonate (HCO3-). The bicarbonate then evolves into CO2 and water.

Equation 6.11 shows the method used to calculate CO2 emissions from the application of urea to soils.

Emission Equation for Urea Fertilization

Agricultural Residue Burning

Agricultural production results in large quantities of crop wastes. In some parts of the United States, these residues are burned in the field to clear remaining straw and stubble after harvest, and to prepare the field for the next cropping cycle. This process releases CO2, CH4, and N2O. In accordance with international greenhouse gas (GHG) accounting guidelines, the Ag module does not include CO2 emissions from crop residue burning. This is because the carbon released as carbon dioxide during burning had been taken up from carbon dioxide in the atmosphere during the growing season, thus resulting in no net emissions. This sector addresses emissions from burning residues of seven crops for which burning of crop wastes is significant in the United States—barley, corn, peanuts, rice, soybeans, sugarcane, and wheat. The data for agricultural residue burning is required by crop type in the control worksheet and includes:

• residue to crop ratio;

• fraction of residue burned, defined as the proportion of the total crop produced in fields where residue is burned;

• burning efficiency, defined as the fraction of dry biomass exposed to burning that actually burns;

• combustion efficiency, defined as the fraction of carbon in the fire that is released to the atmosphere; and

• carbon (C) content of the crops.

The first step in estimating emissions from both CH4 and N2O from agricultural residue burning is to multiply crop production by the residue/crop ratio, proportion of residue burned, proportion of dry matter, burning efficiency, and combustion efficiency. This determines the total mass of dry matter combusted.

To then estimate CH4 emissions, the dry matter combusted is multiplied by the fraction of C in the residue to estimate the total amount of C released, which is multiplied by the emission ratio of CH4 relative to total C (0.005) to determine emissions of CH4 in units of carbon (CH4-C). Finally, emissions of CH4-C are converted to full molecular weights for CH4 emissions by multiplying by the mass ratio of CH4 to C (16/12). Similarly for N2O emissions, the total dry matter combusted is multiplied by the ratio of N to dry matter in the crop residues to estimate total N released, which is multiplied by the N2O-N emission ratio (0.007) and converted to full molecular weight of N2O by multiplying by (44/28), the mass ratio of N2O to N.

Finally, for both CH4 and N2O emissions, the results are converted to MMTCO2E by multiplying by the GWP of CH4 (25) or N2O (298) and dividing by 106 to convert from metric tons to million metric tons, as shown in Equation 6.12.

General Emission Equation for Agricultural Residue Burning

Summary

Errors

The API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
404 Not Found.
405 Method Not Allowed -- invalid method.
406 Not Acceptable -- You requested a format that isn't json.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.