;(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
Topo

Novo chefe do Inpe, coronel promete transparência total

Tânia Monteiro

Brasília

06/08/2019 12h10

Anunciado na segunda-feira, 5, como novo diretor do Instituto Nacional de Pesquisas Espaciais (Inpe), o coronel da Aeronáutica da reserva Darcton Policarpo Damião assume o cargo com a promessa de dar "transparência total" aos dados sobre desmatamento no País. Em entrevista exclusiva ao Estado, ele apontou "teoria da conspiração" quando se sugere que informações sobre áreas que sofrem desmate podem ser censuradas.

"Ninguém vai esconder nada, dado nenhum, até porque não se consegue fazer isso", afirmou Damião à reportagem durante intervalo de uma aula a alunos do Instituto Tecnológico de Aeronáutica (ITA), onde é professor. O militar vai substituir no cargo Ricardo Galvão, demitido na sexta-feira após rebater publicamente críticas do presidente Jair Bolsonaro à divulgação de dados que apontam o aumento do desmatamento na Amazônia. Damião, porém, prefere não entrar na polêmica. "Quero olhar para frente, não para trás, pensando no que é melhor para o Brasil."

Segundo o novo chefe do Inpe, o órgão é "um fornecedor de informações valiosas", mas pontua que "nenhum dado de imagem é absolutamente preciso". Damião, de 57 anos, foi indicado ao cargo pelo ministro da Ciência e Tecnologia, Marcos Pontes, que conhece desde os tempos de academia, há mais de 30 anos.

Embora de carreira militar, o coronel conhece bem a área. Tem mestrado em Sensoriamento Remoto pelo Inpe e doutorado em Desenvolvimento Sustentável pela Universidade de Brasília (UnB). Questionado se enviará os dados previamente para análise do presidente, como o próprio Bolsonaro sugeriu, disse ser direito das autoridades conhecer as informações para poder se defender de críticas. "É a questão do copo meio cheio, ou meio vazio", disse ele. "Se tem uma notícia, não custa preparar. O importante é que o inimigo comum é o desmatamento."

Sobre os problemas que poderá enfrentar na sua chegada ao órgão, depois da demissão de Galvão, o novo diretor disse que "o Inpe é um instituto de excelência", "com cientistas de alto nível". "Não podemos reduzir o trabalho a uma querela."

Ministro

À Rádio Eldorado, o ministro Pontes declarou que nomearia um militar para o cargo. E disse que o ex-diretor Ricardo Galvão tornou a situação insustentável ao procurar a imprensa para rebater o presidente Jair Bolsonaro (PSL), em vez de tentar o diálogo. "Se tivesse me procurado, tudo poderia ter sido resolvido no diálogo. O fato de ter falado direto com a imprensa causou perda de confiança", afirmou. "Tem influência do presidente (na demissão), mas tem a minha parte, porque se tornou difícil contornar a situação."

Sobre o monitoramento do desmatamento, centro da crise entre o Inpe e o governo, Pontes disse que o sistema será alterado, de modo a atender melhor o cliente final, o Instituto Brasileiro do Meio Ambiente e dos Recursos Naturais Renováveis (Ibama), que responde ao Ministério do Meio Ambiente, chefiado por Ricardo Salles. "Houve uma dificuldade de comunicação. O Inpe e o Ibama não estavam conversando muito bem. Todo problema começou com o uso incorreto dos dados do Inpe. Os dados do Deter (Sistema de Detecção do Desmatamento na Amazônia Legal em Tempo Real) são crus, não podem ser divulgados imediatamente."

Conforme o jornal O Estado de S. Paulo mostrou na semana ada, o agregado de alertas online feitos pelo Deter aponta alta de 40% no desmate em um ano. Os satélites observaram perda em 12 meses de 5.879 km² da floresta, ante 4.197 km² entre 2017 e 2018, considerando somente o desmatamento com solo exposto.

As informações são do jornal O Estado de S. Paulo.