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 
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
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
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
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 
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:
Scope 1 - Stationary Combustion, Mobile Combustion, and Fugitive Emissions from Air Conditioning.
Scope 3 - Upstream Transportation and Distribution, Business Travel, and Employee Commuting.
Facilities
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
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
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 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 
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 
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 
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 
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",
- Fuel-and Energy-Related Activities
- Transportation & Distribution (“T&D”)
- Waste Generated in Operations
- Business Travel
- Employee Commuting
- Processing of Sold Products
- Use of Sold Products
- End-of-Life Treatment of Sold Products
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 
About
The Community API is designed to support cities in reporting city-wide GHG emissions according to GPC protocol.
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
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
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
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
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 
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
- Provide pre-loaded default data but allow for state customization.
- Increase and maximize transparency in the inventory process.
- Provide estimates for the most recent year of data availability.
- Enable sector experts to work simultaneously on different parts of the inventory.
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.
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:
- The number of wells and offshore platforms;
- Amount of natural gas vented and flared;
- The number of miles of gathering pipeline;
- The number of gas processing plants and compressor stations;
- The number of miles of transmission pipeline;
- The number of miles of distribution pipeline, if possible, by type (e.g., cast iron, steel, plastic)
- The total number of services (e.g., gas meters);
- Data on oil production, refining, and transportation; and
- Emission factors for each of the above activities.
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) |
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.
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.
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.
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.
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.
References
- Measured ventilation Emissions = Input or Ventilation System Emissions(Matched from coaldata using State and Year)
- Degasification System Emissions - Input or Degasification Liberations(Matched from coaldata using State and Year)
- Methane recovered from Degasisfication systems = Input or Recovered and Used Methane(Matched from coaldata using State and Year)
- Emissions CH4 = Measured ventilation Emissions + (Degasification System Emissions - Methane recovered from Degasisfication systems)
- Emissions MTCH4 = Emissions CH4 * 1000000 * ft3_g(Constant) * g_mt(Constant)
- Emissions MTCO2E = Emissions MTCH4 * CH4GWP(Constant)
- NOTE:: sections divided into: Mines and Post mining Activity
- MTCO2E Total = Sum of all MTCo2E from all emission activities
CH4 From abandoned Coal Mines
A list of abandoned coal mines with the following information for each:
- Mine name or number
- County of location
- Coal rank (bituminous, sub-bituminous, or anthracite) or basin
- Year abandoned
- CH4 emissions at time of abandonment (million cubic feet per day)
- Current status of mine (venting, sealed, or flooded)
- Percent sealed (choose among 50%, 80%, and 95% sealed)
- CH4 recovered (cubic meters per year)
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:
A vented mine is one that can release CH4 to the atmosphere freely. The emissions of such a mine will depend only on time since abandonment and coal characteristics.
A sealed mine has been sealed to prevent the escape of CH4. However, given the nature of rock used to seal mines, such sealing is never 100 percent effective. The effect of a seal is not to prevent CH4 emissions, but to slow them—to spread them out over a longer period.
A completely flooded mine releases little to no CH4 to the atmosphere. After a mine is abandoned, if it is in an area prone to flooding, it will gradually fill up with water. Therefore, most emissions will occur in the first few years following abandonment, dropping off quickly as the mine floods.
The decline equations for each of these three statuses are shown in Equation 2.4.
References
Actual status = Default or
- Sealed
- Flooded
- Venting
- Unkwown
Percent sealed = Default or 50% / 80% / 95%
Methane recovered = User Input
NOTE: Users can add extra mine data
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:
- Coal Mining
- Abandoned Coal Mines
- Vented
- Sealed
- Flooded
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Methane and Nitrogen from forest fires
Equation 5.20 shows the method used to calculate N2O and CH4 emissions from forest fires.
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
- Plastics broken down into:
- PET
- HDPE
- PVC
- LDPE
- PP
- PS
- Other
- Proportion of Discards = Input or (MSW Discarded(Lookup Plastic per year) / MSW Discarded(US total MSW)
- State MSW Combusted = Default MSW(State MSW Combusted per year)
- Carbon Content = PET(63%), HDPE(86%), PVC(38%), LDPE(86%), PP(86%), PS(92%), Other(66%)
- Fraction oxidized = Plastics Fraction oxidized(Control)
- Emissions MTCE = Proportion of Discards * State MSW Combusted * Carbon Content * Fraction oxidized * short_ton_to_metric_ton(Constant)
- Emissions MMTCO2E = MTCE * CO2_C(Constant)
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.
- Synthetic rubber in MSW broken down into:
- Durables
- Non-Durable Clothing and Footware
- Non-Durable Other
- Containers
- Packaging
- Proportion of Discards = Input or (MSW Discarded(Lookup Synthetic Rubber per year) / MSW Discarded(US total MSW)
- State MSW Combusted = Default MSW Combusted(State MSW Combusted per year)
- Carbon Content = 85%(Constant)
- Fraction oxidized = Synthetic Rubber Fraction oxidized(Control)
- Emissions MTCE = Proportion of Discards * State MSW Combusted * Carbon Content * Fraction oxidized * short_ton_to_metric_ton(Constant)
- Emissions MMTCO2E = MTCE * CO2_C(Constant)
CO2 from Synthetic Fiber Combustion
Again, this endpoint is identical to the endpoints for plastic and synthetic rubber combustion
- Proportion of Discards = Input or (MSW Discarded(Lookup Synthetic Fiber per year) / MSW Discarded(US total MSW)
- State MSW Combusted = Default MSW Combusted(State MSW Combusted per year)
- Carbon Content = 70%(Constant)
- Fraction oxidized = Synthetic Fibers Fraction oxidized(Control)
- Emissions MTCE = Proportion of Discards * State MSW Combusted * Carbon Content * Fraction oxidized * short_ton_to_metric_ton(Constant)
- Emissions MMTCO2E = MTCE * CO2_C(Constant)
N2O Emissions from Combustion
- State MSW Combusted = Default MSW Combusted(State MSW Combusted per year)
- Emission Factor = 0.00005(Constant)
- Emissions MTCE = State MSW Combusted * Emission Factor(Constant) * N2O_GWP(Constant) * metric_ton_to_short_ton(Constant) * C_CO2(Constant)
- Emissions MMTCO2E = MTCE * CO2_C(Constant)
CH4 Emissions from Combustion
- State MSW Combusted = Default MSW Combusted(State MSW Combusted per year)
- Emission Factor = 0.00002(Constant)
- Emissions MTCE = State MSW Combusted * Emission Factor(Constant) * CH4_GWP(Constant) * metric_ton_to_short_ton(Constant) * C_CO2(Constant)
- Emissions MMTCO2E = MTCE * CO2_C(Constant)
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
CO2 and N2O Emissions from MSW MTCE
- CO2 (Sum of all MTCE emissions from:)
- Plastics
- Synthetic Fibers
- Synthetic Rubbers in MSW
- N2O
- CH4
- Total CO2_N2O_CH4 Emissions
CO2 and N2O Emissions from MSW MTCE
- Divide CO2 and N2O Emissions from MSW MTCE with MTCO2E
CH4 Emissions from Landfills MTCE
- Potential CH4(Sum)
- MSW Generation = Total Methane from First Order Decay(FOD Calc) * CO2_C(Constant)
- Industrial Generation = MSW Generation * IndustrialPercent(Control)
- CH4 Avoided = if (Flare + landfill) > MSW Generation then (Flare + landfill) - MSW Generation else (Flare + landfill)
- Flare = Flaring * MT_per_T(Constant) * GWP(Constant) * CO2_C(Constant)
- Landfill Gas-to-Energy = LGTFE * GWP(Constant) * CO2_C(Constant)
- Oxidation at MSW Landfills = (MSW Generation + CH4 Avoided) * OxidationFactor(Constant)
- Oxidation at Industrial Landfills = Industrial Generation * OxidationFactor(Constant)
- Total CH4 Emissions = Potential CH4 + CH4 Avoided - Oxidation at MSW Landfills - Oxidation at Industrial Landfills
CH4 Emissions from Landfills MTCO2E
- Divide CH4 MTCE by CO2_C(Constant)
Total MMTCO2E for CH4, CO2, N2O
- Multiply each MTCO2E by 10 ^ -6
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
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.
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.
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.
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.
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 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
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.
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 |
- For consistency in calculations, data that overlaps between sectors are pulled through from the original input into subsequent uses.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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. |