;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Governo aponta 'escassez hídrica' no Rio Paraná e define medidas para hidrelétricas

Usina de usina de Porto Primavera, no rio Paraná, entre São Paulo e Mato Grosso do Sul - Divulgação/CESP
Usina de usina de Porto Primavera, no rio Paraná, entre São Paulo e Mato Grosso do Sul Imagem: Divulgação/CESP

28/05/2021 09h23

O Comitê de Monitoramento do Setor Elétrico (CMSE) deliberou por recomendar à Agência Nacional de Águas e Saneamento Básico (ANA) que seja reconhecida a situação de "escassez hídrica" na Bacia do Rio Paraná, devido à prolongada seca que atinge a região centro-sul do país, e apontou medidas para a segurança no abastecimento pelas hidrelétricas.

Em nota na noite de quinta-feira, o Ministério de Minas e Energia citou que as afluências permanecem abaixo dos valores médios históricos, com a caracterização dos piores montantes verificados para o Sistema Interligado Nacional no período de setembro a maio em 91 anos de histórico.

O ministério disse ainda que em maio não foram observados valores significativos de precipitação, "comportamento típico da estação seca, condição que deverá se manter nos próximos meses especialmente na região Sudeste/Centro-Oeste".

O ministério destacou que a situação engloba as bacias dos rios Paranaíba, Grande, Tietê e Paranapanema, onde estão localizadas as usinas hidrelétricas com os principais reservatórios de regularização do SIN, "cujos recursos são operados de maneira que, nos períodos secos, seus estoques possam ser utilizados de forma otimizada e com vistas a garantir o devido atendimento à carga".

Diante do cenário apresentado, e com vistas a garantir a governabilidade das cascatas hidráulicas no país, o CMSE reconheceu a importância da implementação das flexibilizações das restrições hidráulicas relativas às usinas hidrelétricas Jupiá, Porto Primavera, Ilha Solteira, Três Irmãos, Xingó, Furnas e Mascarenhas de Moraes.

"Ressalta-se que as iniciativas relativas à flexibilização de restrições hidráulicas de empreendimentos localizados nas bacias dos rios Grande e Paraná visam a mitigar o risco da perda do controle hídrico na bacia do rio Paraná", disse o ministério.

"Portanto, para além de questões energéticas, o intuito das medidas é garantir a devida governabilidade das cascatas hidráulicas, inclusive quanto à preservação do uso da água, ao longo do período seco de 2021."

As decisões do CMSE serão encaminhadas ao Conselho Nacional de Política Energética (CNPE), "tendo em vista se tratarem de relevantes ações que objetivam a manutenção da segurança no abastecimento e no atendimento eletroenergético".

Na véspera, o Sistema Nacional de Meteorologia (SNM) emitiu o primeiro Alerta de Emergência Hídrica para o período de junho a setembro, na região da Bacia do Paraná, que abrange os Estados de Minas Gerais, Goiás, Mato Grosso do Sul, São Paulo e Paraná.

O alerta apontou que estudos realizados pelo SNM indicam para o período junho-julho-agosto/2021 a mesma tendência, ou seja, "pouco volume de chuva na maior parte da Bacia do Rio Paraná".

Os problemas de baixo nível do Rio Paraná têm afetado até mesmo a navegação e o escoamento de produtos agrícolas na Argentina e Paraguai, onde as embarcações acabam sendo a carregar menos para não encalhar.