315 lines
No EOL
15 KiB
JavaScript
315 lines
No EOL
15 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.escopo3rodoviarioDownstream1 = 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.escopo3rodoviarioDownstream1 = {
|
|
escopo: "Escopo3",
|
|
idTipoFonte: "escopo3rodoviarioDownstream1",
|
|
descricao: "(Downstream) 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
|