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

Campo magnético da Terra está mudando mais rápido do que se imaginava

O campo magnético da Terra é gerado em seu núcleo externo - ESA
O campo magnético da Terra é gerado em seu núcleo externo Imagem: ESA

Ansa (Roma)

17/07/2020 11h00

As mudanças de direção do campo magnético da Terra ocorrem de maneira mais rápida do que se sabia até hoje, aponta um estudo realizado pela Universidade de Leeds, no Reino Unido, com a Universidade da Califórnia, nos Estados Unidos, publicado no dia 6 de julho pela "Nature Communications".

Segundo simulações realizadas através de computadores de alta tecnologia, essas alterações podem ocorrer de maneira até 10 vezes mais rápida do que as previsões anteriores.

A pesquisa oferece uma nova visão sobre o que acontece no "coração" do planeta, a cerca de 2,8 mil quilômetros de profundidade, onde está o intenso fluxo de ferro fundido que, com as suas correntes elétricas, gera o campo magnético que condiciona o movimento de centenas de milhares de anos.

Para reconstruir a evolução de diversas eras geológicas, normalmente, são analisadas as "digitais" que o campo magnético deixa impressas nos sedimentos, nos fluxos de lavas e até nos produtos feitos pelo homem. No entanto, esses resultados são frequentemente incertos e alvos de debate.

Por isso, os pesquisadores britânicos e norte-americanos decidiram usar uma análise diferente, recorrendo às simulações para reproduzir o processo que gera o campo magnético: a técnica foi aplicada às variações do campo magnético dos últimos 100 mil anos. Dessa pesquisa é que foi possível concluir que as mudanças são muito mais rápidas do que se acreditava.

Essas alterações em ritmo acelerado estariam associadas ao enfraquecimento local do campo magnético, ou seja, que ocorreram em momentos de inversão ou do afastamento dos polos magnéticos (os pontos da superfície terrestre nos quais saem as forças do campo) dos polos geográficos. Um exemplo dessa mudança nítida (que normalmente é de 2,5 graus ao ano) ocorreu há 39 mil anos.

Esse deslocamento foi associado a um enfraquecimento do campo em correspondência na costa ocidental da América Central seguido da chamada Excursão de Laschamp, uma breve inversão geomagnética registrada há 41 mil anos.