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

Expedição a navios naufragados não acha óleo, mas faz imagens incríveis

Carlos Madeiro

Colaboração para o UOL, em Maceió

16/11/2019 04h00

Resumo da notícia

  • Pesquisadores analisaram o fundo do mar em busca de contaminação a naufrágios no litoral do Nordeste
  • Duas embarcações já foram vistoriadas, sem terem sido afetadas
  • Monitoramento abrange também recifes de corais e foi reado a autoridades

O derramamento de óleo que atinge o mar do Nordeste desde agosto afetou praias, corais, mangues, rios e fauna. Mas também pode atingir um verdadeiro museu que está no fundo do mar, com navios antigos que afundaram em viagens à região.

Em Maceió, dois dos três navios naufragados já foram visitados neste mês. Um terceiro será avaliado nos próximos dias. A intenção é saber se houve algum tipo de contaminação com o material tóxico.

"Fomos nos naufrágios do Dragão e do Draguinha, ambos a 30 metros de profundidade. A ótima notícia é que não identificamos nenhum vestígio de óleo", conta Fernanda Paiva, mergulhadora e instrutora de mergulho da empresa Let's Dive, parceira do IMA (Instituto do Meio Ambiente) em monitoramentos no fundo do mar.

O visita ao naufrágio do Dragão ocorreu no dia 2 e no Draguinha no dia 3. Neste domingo (17), a equipe volta ao Draguinha para fazer uma nova vistoria. O terceiro navio, o Sequipe, será visitado em data ainda ser marcada.

Segundo Paiva, os navios são sempre visitados pelas equipes do estado, turistas e pesquisadores. "A gente mergulha com regularidade neles, mas com a questão do óleo ficamos preocupados de eles terem sido atingidos, pois havia uma suspeita de que o óleo estaria vindo pelo fundo do mar. Fizemos um mergulho inicialmente por fora dos recifes da Pajuçara e depois fizemos duas operações para verificar esses dois naufrágios", afirma.

Naufrágio do Draguinha, em Alagoas, analisado em busca de contaminação por óleo - Luis Miguel Filipe/Let's Drive - Luis Miguel Filipe/Let's Drive
Naufrágio do Draguinha, em Alagoas, analisado em busca de contaminação por óleo
Imagem: Luis Miguel Filipe/Let's Drive

A instrutora conta que os dois navios visitados afundaram emborcados e têm avarias que os deixam ainda mais belos. "Eles são nossos principais pontos de mergulho aqui, mas são antigos, estão desmantelados. Isso quer dizer que não dá mais para ver o desenho do barco, porque afundaram e ficaram emborcados. Com o tempo, mais aberturas no casco foram surgindo", relata.

Além de navios, as equipes também vistoriaram corais no fundo do mar em busca do óleo. As imagens foram readas a órgãos ambientais para ajudar no monitoramento da costa.

No feriado da Proclamação da República, a equipe vai fazer mais vistorias em recifes de corais. "Até agora só avistamos óleo só na praia da Pajuçara, no início de setembro, mas foi uma quantidade muito pequena."

As embarcações

O navio Dragão afundou na costa de Maceió em 1927, a aproximadamente 8 milhas náuticas da costa (14,8 km). Segundo o site de pesquisas Naufrágios do Brasil, o nome oficial da embarcação brasileira é André Rebouças.

Já o Draguinha afundou a 7 milhas da costa (12,9 km) da praia da Pajuçara, em julho de 1961. Também de fabricação nacional, a embarcação tinha nome de Draga Número 9.

O terceiro navio ainda a ser visitado, o Sequipe afundou em novembro de 1935, a 6 milhas da costa (11,1 km). O nome oficial da embarcação brasileira é Navelloyde Número 4.