melhorias no build

This commit is contained in:
Luiz Silva 2024-05-07 09:27:49 -03:00
parent cd6d9c35a2
commit 1d6a109fc4
387 changed files with 765 additions and 23443 deletions

View file

@ -1,8 +0,0 @@
import { type tipoFonteObjeto } from "../../../interfaces";
export declare const escopo3rodoviario1: tipoFonteObjeto<[
"tipo",
"ano"
], [
"consumo",
"unidade"
]>;

View file

@ -1,315 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.escopo3rodoviario1 = void 0;
const resposta_1 = require("../../../../resposta");
const fatorEmissaoCombustivel_1 = require("../../../ListasFatoresEmissao/fatorEmissaoCombustivel");
const gwp_1 = require("../../../ListasFatoresEmissao/gwp");
const listaFatorAno_1 = require("../../../ListasFatoresEmissao/listaFatorAno");
const listaRodoviarioMes_1 = require("../../../ListasFatoresEmissao/listaRodoviarioMes");
const listas_1 = require("../../../ListasFatoresEmissao/listas");
const tiposVeiculos_1 = require("../../../ListasFatoresEmissao/tiposVeiculos");
const interfaces_1 = require("../../../interfaces");
exports.escopo3rodoviario1 = {
escopo: "Escopo3",
idTipoFonte: "escopo3rodoviario1",
descricao: "(Upstream) Rodoviário por tipo e ano da frota",
estruturaCadastro: [
{
idCampo: "tipo",
descricao: "Tipo de veículo ",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: listas_1.listaVeiculos,
},
{
idCampo: "ano",
descricao: "Ano do veículo",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: listas_1.listaAno,
},
],
estruturaRegistro: [
{
campo: "consumo",
descricao: "Consumo de combustível",
tipo: interfaces_1.tiposCamposGee.numero,
},
{
campo: "unidade",
descricao: "Unidade de medida consumida",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: ["m³ (GNV)", "Litros"],
},
],
formula: ({ cad, reg, inventario, fonte, registro }) => {
//Cadastro
const detalheTipoVeiculo = Object.values(tiposVeiculos_1.tiposDeVeiculosDetalhe).find((a) => a.descricao == cad.tipo);
if (!detalheTipoVeiculo) {
return resposta_1.respostaCM.addErro("não foi encontrado tipo de veiculo");
}
const ano = cad.ano;
if (!ano) {
return resposta_1.respostaCM.addErro("não foi encontrado tipo de veiculo");
}
const consumo = reg.consumo;
//Fatores de emissão
let [CH4, CO2, N2O, BIO, QTDCombustivelBio, QTDCombustivelFossil] = [
0, 0, 0, 0, 0, 0,
];
const mesAno = fonte.quantidadeRegistros;
//Calculo por ano
if (mesAno == 1) {
if (detalheTipoVeiculo.categoria == "Gasolina") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_N2O;
BIO = 1;
QTDCombustivelFossil =
consumo *
(1 -
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000]
.percGasolina);
QTDCombustivelBio =
consumo *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
}
else if (detalheTipoVeiculo.categoria == "Etanol") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_N2O;
BIO = 1;
QTDCombustivelFossil =
consumo *
(1 -
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000]
.percGasolina);
QTDCombustivelBio =
consumo *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
}
else if (detalheTipoVeiculo.categoria == "GNV") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_N2O;
BIO = 1;
QTDCombustivelFossil = consumo;
}
else if (detalheTipoVeiculo.categoria == "Diesel") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_N2O;
BIO = 1;
QTDCombustivelFossil =
consumo *
(1 -
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000]
.percGasolina);
QTDCombustivelBio =
consumo *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
}
}
const periodo = Number((registro.periodoInicio || "").split("-")[1]);
//Calculo por mes
if (mesAno != 1) {
console.log(periodo);
if (detalheTipoVeiculo.categoria == "Gasolina") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_N2O;
BIO = 1;
if (periodo == 1) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolJan);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolJan);
}
if (periodo == 2) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolFev);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolFev);
}
if (periodo == 3) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolMar);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolMar);
}
if (periodo == 4) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolAbr);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolAbr);
}
if (periodo == 5) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolMai);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolMai);
}
if (periodo == 6) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolJun);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolJun);
}
if (periodo == 7) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolJul);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolJul);
}
if (periodo == 8) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolAgo);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolAgo);
}
if (periodo == 9) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolSet);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolSet);
}
if (periodo == 10) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolOut);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolOut);
}
if (periodo == 11) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolNov);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolNov);
}
if (periodo == 12) {
QTDCombustivelFossil =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolDez);
QTDCombustivelBio =
consumo *
(1 -
listaRodoviarioMes_1.listaRodoviarioMes[Number(inventario.anoInventario) - 2006]
.etanolDez);
}
}
else if (detalheTipoVeiculo.categoria == "Etanol") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_N2O;
BIO = 1;
QTDCombustivelFossil =
consumo *
(1 -
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000]
.percGasolina);
QTDCombustivelBio =
consumo *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
}
else if (detalheTipoVeiculo.categoria == "GNV") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_N2O;
BIO = 1;
QTDCombustivelFossil = consumo;
}
else if (detalheTipoVeiculo.categoria == "Diesel") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_N2O;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
BIO = 1;
QTDCombustivelFossil =
consumo *
(1 -
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000]
.percGasolina);
// eslint-disable-next-line @typescript-eslint/no-unused-vars
QTDCombustivelBio =
consumo *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
}
}
//Calculo
const emissaoCO2 = (CO2 * QTDCombustivelFossil) / 1000;
const emissaoCH4 = (CH4 * consumo) / 1000;
const emissaoN2O = (N2O * consumo) / 1000;
const carbono = emissaoCO2 * Number(gwp_1.gwp[0].gwp) +
emissaoCH4 * Number(gwp_1.gwp[1].gwp) +
emissaoN2O * Number(gwp_1.gwp[2].gwp);
const bio = QTDCombustivelBio * Number(gwp_1.gwp[3].gwp);
//Arredondadmento
return resposta_1.respostaCM.addResultado([carbono, bio]);
},
};
//# sourceMappingURL=rodoviario1.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,7 +0,0 @@
import { type tipoFonteObjeto } from "../../../interfaces";
export declare const escopo3rodoviario2: tipoFonteObjeto<[
"tipo"
], [
"consumo",
"unidade"
]>;

View file

@ -1,143 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.escopo3rodoviario2 = void 0;
const resposta_1 = require("../../../../resposta");
const fatorEmissaoCombustivel_1 = require("../../../ListasFatoresEmissao/fatorEmissaoCombustivel");
const gwp_1 = require("../../../ListasFatoresEmissao/gwp");
const listaFatorAno_1 = require("../../../ListasFatoresEmissao/listaFatorAno");
const listas_1 = require("../../../ListasFatoresEmissao/listas");
const interfaces_1 = require("../../../interfaces");
exports.escopo3rodoviario2 = {
escopo: "Escopo3",
idTipoFonte: "escopo3rodoviario2",
descricao: "(Upstream) Rodoviário por tipo de combustível",
estruturaCadastro: [
{
idCampo: "tipo",
descricao: "Tipo de combustível",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: listas_1.listaRodoviario2combustivel,
},
],
estruturaRegistro: [
{
campo: "consumo",
descricao: "Consumo de combustível em Litros",
tipo: interfaces_1.tiposCamposGee.numero,
},
{
campo: "unidade",
descricao: "Unidade de medida consumida",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: ["m³ (GNV)", "Litros"],
},
],
formula: ({ cad, reg, inventario }) => {
const combustivel = fatorEmissaoCombustivel_1.listaRodoviario2.find((a) => a.ref == cad.tipo);
if (!combustivel) {
return resposta_1.respostaCM.addErro("não foi encontrado tipo de veiculo");
}
const consumo = Number(reg.consumo);
let [CH4, CO2, N2O, BIO, QTDCombustivelBio, QTDCombustivelFossil] = [
0, 0, 0, 0, 0, 0,
];
if (combustivel.combustivel == "Biodiesel(B100)") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[9].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[9].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[9].fator_emissao_N2O;
BIO = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[9].fator_emissao_CO2;
QTDCombustivelFossil = 0;
QTDCombustivelBio = consumo;
}
else if (combustivel.combustivel == "Etanol Hidratado") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_N2O;
BIO = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CO2;
QTDCombustivelFossil = 0;
QTDCombustivelBio = consumo;
}
else if (combustivel.combustivel == "Gás Liquefeito de Petróleo (GLP)") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[3].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[3].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[3].fator_emissao_N2O;
BIO = 0;
QTDCombustivelFossil = consumo;
QTDCombustivelBio = 0;
}
else if (combustivel.combustivel == "Óleo Diesel (comercial)") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[22].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[22].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[22].fator_emissao_N2O;
BIO = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[9].fator_emissao_CO2;
QTDCombustivelFossil =
consumo *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
QTDCombustivelBio = consumo - QTDCombustivelFossil;
}
else if (combustivel.combustivel == "Gás Natural Veicular (GNV)") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_N2O;
BIO = 0;
QTDCombustivelFossil = consumo;
}
else if (combustivel.combustivel == "Gasolina Automotiva (comercial)") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[23].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[23].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[23].fator_emissao_N2O;
BIO = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[10].fator_emissao_CO2;
QTDCombustivelFossil =
consumo *
(1 -
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percGasolina);
QTDCombustivelBio = consumo - QTDCombustivelFossil;
}
else if (combustivel.combustivel == "Gasolina Automotiva (pura)") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_N2O;
BIO = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CO2;
QTDCombustivelFossil =
consumo *
(1 -
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percGasolina);
QTDCombustivelBio =
consumo *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
}
else if (combustivel.combustivel == "Óleo Diesel (puro)") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_N2O;
BIO = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CO2;
QTDCombustivelFossil =
consumo *
(1 -
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percGasolina);
QTDCombustivelBio =
consumo *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
}
const emissaoCO2 = (CO2 * QTDCombustivelFossil) / 1000;
const emissaoCH4 = (CH4 * QTDCombustivelFossil) / 1000 + (CH4 * QTDCombustivelBio) / 1000;
const emissaoN2O = (N2O * QTDCombustivelFossil) / 1000 + (N2O * QTDCombustivelBio) / 1000;
const carbono = emissaoCO2 * Number(gwp_1.gwp[0].gwp) +
emissaoCH4 * Number(gwp_1.gwp[1].gwp) +
emissaoN2O * Number(gwp_1.gwp[2].gwp);
const bio = (BIO * QTDCombustivelBio) / 1000;
console.log("carbono", carbono);
console.log("bio", bio);
console.log("emissaoCO2", emissaoCO2);
console.log("emissaoCH4", emissaoCH4);
console.log("emissaoN2O", emissaoN2O);
console.log("QTDCombustivelFossil", QTDCombustivelFossil);
console.log("QTDCombustivelBio", QTDCombustivelBio);
console.log("CH4", CH4);
console.log("CO2", CO2);
console.log("N2O", N2O);
console.log("BIO", BIO);
return resposta_1.respostaCM.addResultado([carbono, bio]);
},
};
//# sourceMappingURL=rodoviario2.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,8 +0,0 @@
import { type tipoFonteObjeto } from "../../../interfaces";
export declare const escopo3rodoviario3: tipoFonteObjeto<[
"tipo",
"descricao"
], [
"distancia",
"carga"
]>;

View file

@ -1,92 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.escopo3rodoviario3 = void 0;
const resposta_1 = require("../../../../resposta");
const gwp_1 = require("../../../ListasFatoresEmissao/gwp");
const listaFatorAno_1 = require("../../../ListasFatoresEmissao/listaFatorAno");
const listaTransporteCaminhao_1 = require("../../../ListasFatoresEmissao/listaTransporteCaminhao");
const listas_1 = require("../../../ListasFatoresEmissao/listas");
const interfaces_1 = require("../../../interfaces");
exports.escopo3rodoviario3 = {
escopo: "Escopo3",
idTipoFonte: "escopo3rodoviario3",
descricao: "(Upstream) Rodoviário por distância e peso de caminhões e veículos de carga",
estruturaCadastro: [
{
idCampo: "descricao",
descricao: "Descrição da frota",
tipo: interfaces_1.tiposCamposGee.texto,
},
{
idCampo: "tipo",
descricao: "Tipo de veículo",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: listas_1.listaTransporteCaminhoes,
},
],
estruturaRegistro: [
{
campo: "distancia",
descricao: "Distância percorrida (Km)",
tipo: interfaces_1.tiposCamposGee.numero,
},
{
campo: "carga",
descricao: "Carga transportada (tonelada)",
tipo: interfaces_1.tiposCamposGee.numero,
},
],
formula: ({ reg, inventario, cad }) => {
const distancia = reg.distancia;
const carga = reg.carga;
const fator = listaTransporteCaminhao_1.listaTransporteCaminhao.find((a) => a.ref == cad.tipo);
if (!fator) {
return resposta_1.respostaCM.addErro("não foi encontrado tipo de veiculo");
}
const CO2diesel = fator.CO2diesel *
distancia *
carga *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
const CO2bioDiesel = fator.CO2BioDiesel *
distancia *
carga *
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio;
const CH4diesel = fator.CH4diesel *
distancia *
carga *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
const CH4bioDiesel = fator.CH4BioDiesel *
distancia *
carga *
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio;
const N2Odiesel = fator.N2Odiesel *
distancia *
carga *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
const N2ObioDiesel = fator.N2OBioDiesel *
distancia *
carga *
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio;
const emissaoCO2 = CO2diesel / 1000;
const emissaoCH4 = CH4diesel + CH4bioDiesel / 1000;
const emissaoN2O = N2Odiesel + N2ObioDiesel / 1000;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const bio = CO2bioDiesel / 1000;
const carbono = emissaoCO2 * Number(gwp_1.gwp[0].gwp) +
((emissaoCH4 + CH4bioDiesel) / 1000) * Number(gwp_1.gwp[1].gwp) +
((emissaoN2O + N2ObioDiesel) / 1000) * Number(gwp_1.gwp[2].gwp);
console.log("CO2BioDiesel", CO2bioDiesel);
console.log("CO2diesel", CO2diesel);
console.log("CH4diesel", CH4diesel);
console.log("CH4bioDiesel", CH4bioDiesel);
console.log("N2Odiesel", N2Odiesel);
console.log("N2ObioDiesel", N2ObioDiesel);
console.log("emissaoCO2", emissaoCO2);
console.log("emissaoCH4", emissaoCH4);
console.log("emissaoN2O", emissaoN2O);
console.log("carbono", carbono);
//Arredondamento
return resposta_1.respostaCM.addResultado([carbono, bio]);
},
};
//# sourceMappingURL=rodoviario3.js.map

View file

@ -1 +0,0 @@
{"version":3,"file":"rodoviario3.js","sourceRoot":"","sources":["../../../../../src/GEE/Escopo3/upstream/rodoviario/rodoviario3.ts"],"names":[],"mappings":"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"}

View file

@ -1,7 +0,0 @@
import { type tipoFonteObjeto } from "../../../interfaces";
export declare const escopo3rodoviario4: tipoFonteObjeto<[
"tipo",
"ano"
], [
"distancia"
]>;

View file

@ -1,124 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.escopo3rodoviario4 = void 0;
const resposta_1 = require("../../../../resposta");
const fatorEmissaoCombustivel_1 = require("../../../ListasFatoresEmissao/fatorEmissaoCombustivel");
const gwp_1 = require("../../../ListasFatoresEmissao/gwp");
const listaFatorAno_1 = require("../../../ListasFatoresEmissao/listaFatorAno");
const listas_1 = require("../../../ListasFatoresEmissao/listas");
const tiposVeiculos_1 = require("../../../ListasFatoresEmissao/tiposVeiculos");
const interfaces_1 = require("../../../interfaces");
exports.escopo3rodoviario4 = {
escopo: "Escopo3",
idTipoFonte: "escopo3rodoviario4",
descricao: "(Upstream) Rodoviário por distância percorrida no ano",
estruturaCadastro: [
{
idCampo: "tipo",
descricao: "Tipo da frota de veículo",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: listas_1.listaVeiculos,
},
{
idCampo: "ano",
descricao: "Ano do veículo",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: listas_1.listaAno,
},
],
estruturaRegistro: [
{
campo: "distancia",
descricao: "Distância mensal percorrida (Km)",
tipo: interfaces_1.tiposCamposGee.numero,
},
],
formula: ({ cad, reg, inventario }) => {
//Cadastro e Registro
const detalheTipoVeiculo = Object.values(tiposVeiculos_1.tiposDeVeiculosDetalhe).find((a) => a.descricao == cad.tipo);
if (!detalheTipoVeiculo) {
return resposta_1.respostaCM.addErro("não foi encontrado tipo de veiculo");
}
const ano = cad.ano;
if (!ano) {
return resposta_1.respostaCM.addErro("não foi encontrado ano da frota");
}
const distancia = reg.distancia;
const fatorAno = listaFatorAno_1.listaFatorAno.find((a) => a.ano == Number(ano));
if (!fatorAno) {
return resposta_1.respostaCM.addErro("não foi encontrado fator de ano");
}
const consumoMedio = fatorAno[detalheTipoVeiculo.tipo];
const calculoCombustivel = distancia / consumoMedio;
//Fatores de emissão
let [CH4, CO2, N2O, BIO, QTDCombustivelBio, QTDCombustivelFossil] = [
0, 0, 0, 0, 0, 0,
];
//Seleção de gasolina
if (detalheTipoVeiculo.categoria == "Gasolina") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[0].fator_emissao_N2O;
BIO = 1;
QTDCombustivelFossil =
calculoCombustivel *
(1 -
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percGasolina);
QTDCombustivelBio =
calculoCombustivel *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
}
//Seleção de etanol
else if (detalheTipoVeiculo.categoria == "Etanol") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[8].fator_emissao_N2O;
BIO = 1;
QTDCombustivelFossil =
calculoCombustivel *
(1 -
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percGasolina);
QTDCombustivelBio =
calculoCombustivel *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
}
//Seleção do GNV
else if (detalheTipoVeiculo.categoria == "GNV") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[2].fator_emissao_N2O;
BIO = 1;
QTDCombustivelFossil = calculoCombustivel;
}
//Seleção do Diesel
else if (detalheTipoVeiculo.categoria == "Diesel") {
CH4 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CH4;
CO2 = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_CO2;
N2O = fatorEmissaoCombustivel_1.fatorEmissaoCombustivel[1].fator_emissao_N2O;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
BIO = 1;
QTDCombustivelFossil =
calculoCombustivel *
(1 -
listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percGasolina);
// eslint-disable-next-line @typescript-eslint/no-unused-vars
QTDCombustivelBio =
calculoCombustivel *
(1 - listaFatorAno_1.listaFatorAno[Number(inventario.anoInventario) - 2000].percBio);
}
const fatores = listaFatorAno_1.listaFatorAno.find((a) => a.ano == Number(ano));
fatores?.automovelEtanol;
//seleção de consumo médio sugerido
const emissaoCO2 = QTDCombustivelFossil * (CO2 / 1000);
const emissaoCH4 = (CH4 * calculoCombustivel) / 1000;
const emissaoN2O = (N2O * calculoCombustivel) / 1000;
//Calculo de carbono Final
const carbono = emissaoCO2 * Number(gwp_1.gwp[0].gwp) +
emissaoCH4 * Number(gwp_1.gwp[1].gwp) +
emissaoN2O * Number(gwp_1.gwp[2].gwp);
const bio = QTDCombustivelBio * (BIO / 1000);
//Arredondamento
return resposta_1.respostaCM.addResultado([carbono, bio]);
},
};
//# sourceMappingURL=rodoviario4.js.map

View file

@ -1 +0,0 @@
{"version":3,"file":"rodoviario4.js","sourceRoot":"","sources":["../../../../../src/GEE/Escopo3/upstream/rodoviario/rodoviario4.ts"],"names":[],"mappings":"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"}