commit
This commit is contained in:
commit
b5ca2d50ac
337 changed files with 24672 additions and 0 deletions
249
dist/GEE/Escopo1/efluenteRefatorado.js
vendored
Normal file
249
dist/GEE/Escopo1/efluenteRefatorado.js
vendored
Normal file
|
|
@ -0,0 +1,249 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.efluenteRefatorado = void 0;
|
||||
/** Simula função soma do excel */
|
||||
const SOMA = (...vl) => vl.reduce((a, b) => a + b, 0);
|
||||
/** Simula função SE do excel */
|
||||
const SE = (condicao, valorVerdadeiro, valorFalso) => (condicao ? valorVerdadeiro : valorFalso);
|
||||
/** Simula função SEERRO do excel */
|
||||
const SEERRO = (valor, valorErro) => {
|
||||
try {
|
||||
return valor();
|
||||
}
|
||||
catch (e) {
|
||||
return valorErro;
|
||||
}
|
||||
};
|
||||
/** Emula o PROCV no excel */
|
||||
const PROCV = (busca, matriz, index, valorErro) => {
|
||||
const linha = matriz.find(([chave]) => chave === busca);
|
||||
if (!linha)
|
||||
return valorErro;
|
||||
const retorno = linha[index - 1];
|
||||
return retorno === undefined ? valorErro : retorno;
|
||||
};
|
||||
const forcaErro = () => {
|
||||
return;
|
||||
};
|
||||
const ÉERROS = (verificar) => {
|
||||
try {
|
||||
const valor = verificar();
|
||||
if ([
|
||||
"#N/D",
|
||||
"#NOME?",
|
||||
"#REF!",
|
||||
"#VALOR!",
|
||||
"#DIV/0!",
|
||||
"#NULO!",
|
||||
"#NUM!",
|
||||
].includes(valor)) {
|
||||
return true;
|
||||
}
|
||||
if (typeof valor === "number" && Number.isNaN(valor)) {
|
||||
return true;
|
||||
}
|
||||
if (valor === null || valor === undefined) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
catch (e) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
const efluenteRefatorado = (
|
||||
/** No ano do inventário, qual o destino do biogás recuperado? */
|
||||
$D$124,
|
||||
/** Quantidade 4 de CH4 recuperada do tratamento [tCH4/ano] */
|
||||
$E$121,
|
||||
/** No ano do inventário, qual o destino do biogás recuperado? */
|
||||
$D$85,
|
||||
/** Quantidade 2 de CH4 recuperada do tratamento [tCH4/ano] */
|
||||
$E$82,
|
||||
/** Unidade */
|
||||
$E$140,
|
||||
/**Componente orgânico degradável do efluente*/
|
||||
D140,
|
||||
/** Componente orgânico degradável do efluente */
|
||||
D132,
|
||||
/** Unidade */
|
||||
E102,
|
||||
/**Quantidade 3 de CH4 recuperada do tratamento*/
|
||||
E121,
|
||||
/**Quantidade de efluente líquido gerada no ano do inventário*/
|
||||
D53,
|
||||
/** Quantidade de Nitrogênio no efluente gerado, na entrada do tratamento*/
|
||||
D69,
|
||||
/** Quantidade de nitrogênio no efluente após tratamento*/
|
||||
D145,
|
||||
/** QQual o tipo de efluente gerado?*/
|
||||
D34,
|
||||
/** Fator de emissão de N2O do tratamento do efluente*/
|
||||
D70,
|
||||
/** Quantidade de efluente líquido após a aplicação do primeiro tratamento*/
|
||||
D95,
|
||||
/** Quantidade de nitrogênio no efluente após o primeiro tratamento*/
|
||||
D108,
|
||||
/** Componente orgânico degradável do efluente, na entrada do tratamento*/
|
||||
D63,
|
||||
/** Componente orgânico degradável do efluente, na entrada do tratamento*/
|
||||
D102,
|
||||
/** Componente orgânico do efluente removido com o lodo*/
|
||||
D103,
|
||||
/** São aplicados, sequencialmente, dois tipos de tratamentos ao efluente gerado?*/
|
||||
$E$48,
|
||||
/** unidade*/
|
||||
$E$63,
|
||||
/** Quantidade 1 de CH4 recuperada do tratamento*/
|
||||
E82,
|
||||
/** Componente orgânico do efluente removido com o lodo*/
|
||||
D64,
|
||||
/** Escolha o tipo de tratamento do efluente*/
|
||||
D74,
|
||||
/** Fator de emissão de N2O do tratamento do efluente*/
|
||||
D109,
|
||||
/** Fator de emissão de N2O da disposição final do efluente*/
|
||||
D146,
|
||||
/** Escolha o tipo de tratamento aplicado ao efluente*/
|
||||
D113,
|
||||
/** Caso o efluente tratado seja lançado ao ambiente, qual a sua disposição final?*/
|
||||
D39) => {
|
||||
/** Emissões de N2O por tratamento e/ou disposição final de efluentes [tN2O/ano] */
|
||||
const efu_tipo_de_eflu = [
|
||||
["Efluentes do refino de álcool", 2.4],
|
||||
["Efluentes da produção de cerveja e malte", 0.06],
|
||||
["Efluentes da processamento de peixes", 0.6],
|
||||
["Efluentes da produção de ferro e aço", 0.25],
|
||||
["Efluentes de frigoríficos", 0.19],
|
||||
["Efluentes da produção de fertilizantes nitrogenados", 0.5],
|
||||
["Efluentes da produção de plásticos e resinas", 0.25],
|
||||
["Efluentes da produção de amido", 0.9],
|
||||
];
|
||||
const eflu_tipo_tratamento_MCF = [
|
||||
[
|
||||
"Tratamento aeróbio (lodo ativado, lagoa aerada, etc)",
|
||||
0.03,
|
||||
0.02,
|
||||
0.01,
|
||||
0.016,
|
||||
],
|
||||
["Fossa séptica", 0.5, 0.3, 0.13, 0.0],
|
||||
["Reator anaeróbio", 0.8, 0.48, 0.2, 0.0],
|
||||
["Lagoa anaeróbia profunda (profundidade > 2 metros)", 0.8, 0.48, 0.2, 0.0],
|
||||
["Lagoa anaeróbia rasa (profundidade < 2 metros)", 0.2, 0.12, 0.05, 0.0],
|
||||
["Lagoa facultativa (profundidade < 2 metros)", 0.2, 0.12, 0.05, 0.0],
|
||||
["Lagoa de maturação (profundidade < 2 metros)", 0.2, 0.12, 0.05, 0.0],
|
||||
["Fossas secas", 0.1, 0.06, 0.03, 0.0],
|
||||
["Lançamento em corpos d'água (não especificado)", 0.11, 0.07, 0.03, 0.005],
|
||||
[
|
||||
" Lançamento em corpos d'água (que não reservatórios, lagos e estuários)",
|
||||
0.04,
|
||||
0.02,
|
||||
0.01,
|
||||
0.005,
|
||||
],
|
||||
["Lançamento em reservatórios, lagos e estuários", 0.19, 0.11, 0.05, 0.005],
|
||||
["Efluente parado a céu aberto", 0.5, 0.3, 0.13, 0.005],
|
||||
];
|
||||
const D77 = SE(D70 == "", SE(ÉERROS(() => (44 / 28) * PROCV(D74, eflu_tipo_tratamento_MCF, 5, forcaErro())), 0, (44 / 28) * PROCV(D74, eflu_tipo_tratamento_MCF, 5, forcaErro())), (44 / 28) * D70);
|
||||
const D116 = SE(D109 == "", SE(ÉERROS(() => (44 / 14) *
|
||||
PROCV(D113, eflu_tipo_tratamento_MCF.map(([v1, , , v4]) => [v1, v4]), 2, forcaErro())), 0, (44 / 14) *
|
||||
PROCV(D113, eflu_tipo_tratamento_MCF.map(([v1, , , , v5]) => [v1, v5]), 2, forcaErro())), (44 / 14) * D109);
|
||||
const D149 = SE(D146 == "", SE(ÉERROS(() => (44 / 28) * PROCV(D39, eflu_tipo_tratamento_MCF, 5, forcaErro())), 0, (44 / 28) * PROCV(D39, eflu_tipo_tratamento_MCF, 5, forcaErro())), (44 / 28) * D146);
|
||||
const $E$155 = SEERRO(() => SOMA((D53 *
|
||||
SE(D69 == "", SEERRO(PROCV(D34, efu_tipo_de_eflu, 2, 0), 0), D69) *
|
||||
D77) /
|
||||
1000, (D95 *
|
||||
SE(D108 == "", SEERRO(() => PROCV(D34, efu_tipo_de_eflu, 2, 0), 0), D108) *
|
||||
D116) /
|
||||
1000, (D132 *
|
||||
SE(D145 == "", SEERRO(() => PROCV(D34, efu_tipo_de_eflu, 2, 0), 0), D145) *
|
||||
D149) /
|
||||
1000), 0);
|
||||
const D148 = SE(ÉERROS(() => PROCV(D39, eflu_tipo_tratamento_MCF.map(([v1, , , v4]) => [v1, v4]), 2, forcaErro())), 0, PROCV(D39, eflu_tipo_tratamento_MCF.map(([v1, , , v4]) => [v1, v4]), 4, forcaErro()));
|
||||
const D147 = SE(ÉERROS(() => PROCV(D39, eflu_tipo_tratamento_MCF.map(([v1, , , v3]) => [v1, v3]), 3, forcaErro())), 0, PROCV(D39, eflu_tipo_tratamento_MCF.map(([v1, , , v3]) => [v1, v3]), 3, forcaErro()));
|
||||
const D115 = SE(ÉERROS(() => PROCV(D113, eflu_tipo_tratamento_MCF.map(([v1, , , v4]) => [v1, v4]), 4, forcaErro())), 0, PROCV(D113, eflu_tipo_tratamento_MCF.map(([v1, , , v4]) => [v1, v4]), 4, forcaErro()));
|
||||
const D114 = SE(ÉERROS(() => PROCV(D113, eflu_tipo_tratamento_MCF, 3, forcaErro())), 0, PROCV(D113, eflu_tipo_tratamento_MCF, 3, forcaErro()));
|
||||
const D76 = SE(ÉERROS(() => PROCV(D74, eflu_tipo_tratamento_MCF.map(([v1, , , v4]) => [v1, v4]), 2, forcaErro())), 0, PROCV(D74, eflu_tipo_tratamento_MCF, 4, forcaErro()));
|
||||
const D75 = SE(ÉERROS(() => PROCV(D74, eflu_tipo_tratamento_MCF.map(([v1, , v3]) => [v1, v3]), 2, forcaErro())), 0, PROCV(D74, eflu_tipo_tratamento_MCF.map(([v1, , v3]) => [v1, v3]), 2, forcaErro()));
|
||||
/** Metano (CH4)*/
|
||||
const gwp_CH4 = 28;
|
||||
const gwp_N2O = 265;
|
||||
/** Emissões de CH4 por tratamento e/ou disposição final de efluentes [tCH4/ano] */
|
||||
const $E154 = SOMA((D53 *
|
||||
(D63 - D64) *
|
||||
SE($E$63 == "[kgDQO/m3]", D76, SE($E$63 == "[kgDBO/m3]", D75, 0))) /
|
||||
1000 -
|
||||
SE($E$63 == "", 0, E82), SE($E$48 == "Sim", (D95 *
|
||||
(D102 - D103) *
|
||||
SE(E102 == "[kgDQO/m3]", D115, SE(E102 == "[kgDBO/m3]", D114, 0))) /
|
||||
1000 -
|
||||
SE(E102 == "", 0, E121), 0), (D132 *
|
||||
D140 *
|
||||
SE($E$140 == "[kgDQO/m3]", D148, SE($E$140 == "[kgDBO/m3]", D147, 0))) /
|
||||
1000);
|
||||
const $E$154 = $E154;
|
||||
const $F$154 = SE($E154 < 0, "O dado de metano recuperado é maior que o de metano gerado. Revise seus cálculos.", "");
|
||||
const $Listas = { $BZ$3: "Queima em flare", $BZ$4: "Geração de energia" };
|
||||
/** outras fontes co2 */
|
||||
const total_EFL_outras_CO2e = SOMA(0);
|
||||
/** Emissões em CO2e por tratamento e/ou disposição final de efluentes [tCO2e/ano] */
|
||||
const EFL_CO2e = SEERRO(() => SE($E154 < 0, 0, $E$154 * gwp_CH4 + $E$155 * gwp_N2O), 0);
|
||||
/** Relato por outras ferramentas */
|
||||
const total_EFL_outras_biog = SOMA(0);
|
||||
/** Emissões em CO2 biogênico por tratamento de efluentes [tCO2/ano] */
|
||||
const EFL_biogênico = SE($F$154 == "", SE($D$85 == $Listas.$BZ$3, $E$82 * (44 / 16), 0) +
|
||||
SE($D$124 == $Listas.$BZ$3, $E$121 * (44 / 16), 0), 0);
|
||||
/** Emissões totais em CO2 equivalente (toneladas métricas) */
|
||||
const total = SOMA(EFL_CO2e, total_EFL_outras_CO2e);
|
||||
/** Emissões totais de CO2 biogênico (toneladas métricas) */
|
||||
const biogenico = SOMA(EFL_biogênico, total_EFL_outras_biog);
|
||||
console.log({
|
||||
total,
|
||||
biogenico,
|
||||
});
|
||||
console.log({
|
||||
$D$124,
|
||||
$E$121,
|
||||
$D$85,
|
||||
$E$82,
|
||||
$E$140,
|
||||
D140,
|
||||
D132,
|
||||
E102,
|
||||
E121,
|
||||
D53,
|
||||
D69,
|
||||
D145,
|
||||
D34,
|
||||
D70,
|
||||
D95,
|
||||
D108,
|
||||
D63,
|
||||
D102,
|
||||
D103,
|
||||
$E$48,
|
||||
$E$63,
|
||||
E82,
|
||||
D64,
|
||||
D74,
|
||||
D109,
|
||||
D146,
|
||||
D113,
|
||||
D39,
|
||||
});
|
||||
console.log({
|
||||
EFL_CO2e,
|
||||
$E154,
|
||||
$E$154,
|
||||
gwp_CH4,
|
||||
$E$155,
|
||||
gwp_N2O,
|
||||
});
|
||||
return {
|
||||
total,
|
||||
biogenico,
|
||||
};
|
||||
};
|
||||
exports.efluenteRefatorado = efluenteRefatorado;
|
||||
//# sourceMappingURL=efluenteRefatorado.js.map
|
||||
Loading…
Add table
Add a link
Reference in a new issue