"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