_comuns/dist/GEE/Escopo2/perdasTDEsc/perdasTDEsc.js
2024-05-07 10:50:06 -03:00

112 lines
No EOL
4.3 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fontesEscopo2PerdasTDEsc = void 0;
const resposta_1 = require("../../../resposta");
const gwp_1 = require("../../ListasFatoresEmissao/gwp");
const listaEnergia_1 = require("../../ListasFatoresEmissao/listaEnergia");
const listas_1 = require("../../ListasFatoresEmissao/listas");
const interfaces_1 = require("../../interfaces");
exports.fontesEscopo2PerdasTDEsc = {
escopo: "Escopo2",
idTipoFonte: "PerdasTDLoc",
descricao: "Perdas T&D Escolha de compra",
estruturaCadastro: [
{
idCampo: "tipoFonte",
descricao: "Tipo de fonte de geração de energia",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: [
"Eólica",
"Fotovoltaica",
"Heliotérmica",
"Geotérmica",
"Hidroelétrica",
"Termoelétrica",
"Maremotriz",
],
},
{
idCampo: "combustivel",
descricao: "Combustível",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: listas_1.listaEnergiaEmissoes,
},
{
idCampo: "possuiFator",
descricao: "Você possui o fator de emissão para essa fonte?",
tipo: interfaces_1.tiposCamposGee.opcoes,
opcoes: ["Sim", "Não"],
},
{
idCampo: "eficiencia",
descricao: "Qual a eficiência da planta geradora?",
tipo: interfaces_1.tiposCamposGee.numero,
},
],
estruturaRegistro: [
{
campo: "eletricidade",
descricao: "Eletricidade abordagem Esc.Compra",
tipo: interfaces_1.tiposCamposGee.numero,
},
{
campo: "fatorEmissao",
descricao: "Fator de emissão CO2 sugerido",
tipo: interfaces_1.tiposCamposGee.numero,
},
{
campo: "fatorEmissaoCH4",
descricao: "Fator de emissão CH4 sugerido",
tipo: interfaces_1.tiposCamposGee.numero,
},
{
campo: "fatorEmissaoN2O",
descricao: "Fator de emissão N2O sugerido",
tipo: interfaces_1.tiposCamposGee.numero,
},
{
campo: "fatorEmissaoBio",
descricao: "Fator de emissão CO2 Biogênico sugerido",
tipo: interfaces_1.tiposCamposGee.numero,
},
],
formula: ({ cad, reg }) => {
const tipoFonte = cad.tipoFonte;
if (!tipoFonte) {
return resposta_1.respostaCM.addErro("não foi encontrado eficiencia");
}
const combustivel = listaEnergia_1.listaEnergia.find((a) => a.ref == cad.combustivel);
if (!combustivel) {
return resposta_1.respostaCM.addErro("não foi encontrado tipo de combustivel");
}
const possuiFator = cad.possuiFator;
if (!possuiFator) {
return resposta_1.respostaCM.addErro("não foi encontrado tipo de combustivel");
}
const eficiencia = cad.eficiencia;
if (!eficiencia) {
return resposta_1.respostaCM.addErro("não foi encontrado tipo de combustivel");
}
let [CH4, CO2, N2O, BIO, i] = [0, 0, 0, 0, 0];
const fatores = (index, TipoComb) => {
if (combustivel.combustivel == TipoComb) {
CH4 = listaEnergia_1.listaEnergia[index].fator_emissao_CH4;
CO2 = listaEnergia_1.listaEnergia[index].fator_emissao_CO2;
N2O = listaEnergia_1.listaEnergia[index].fator_emissao_N2O;
BIO = 1;
}
};
for (i = 0; i < 50; i++) {
fatores(i, listaEnergia_1.listaEnergia[i].combustivel);
}
const emissaoCO2 = (Number(reg.eletricidade) / (cad.eficiencia / 100)) * CO2;
const emissaoCH4 = (Number(reg.eletricidade) / (cad.eficiencia / 100)) * CH4;
const emissaoN2O = (Number(reg.eletricidade) / (cad.eficiencia / 100)) * N2O;
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 * 1;
return resposta_1.respostaCM.addResultado([carbono, bio]);
},
};
//# sourceMappingURL=perdasTDEsc.js.map