índiceitem superior

item anteriorpróximo item

 

5.4 – Campo magnético terrestre

 

            O campo magnético terrestre é modelado pelo IGRF10, definido por um grupo de trabalho do IAGA (International Association of Geomagnetism and Aeronomy). O modelo usa expansão em harmônicos esféricos do campo em coordenadas geocêntricas, dado por

 

 

onde r, θ, λ são as coordenadas geocêntricas (r é a distância do centro da Terra, θ é a colatitude, ou seja, 90° – latitude, e λ é a longitude), R é o raio de referência da Terra (6371.2 km), e ,  são os coeficientes associados de Legendre de grau n e ordem m na forma semi-normalizada de Schimidt, no instante t.

 

Os coeficientes da expansão dependem do tempo e são definidos a cada cinco anos ou menos, e interpolados linearmente nos intervalos. Para o cálculo de valores futuros (extrapolados) do campo são fornecidas as variações temporais dos coeficientes, e não os coeficientes propriamente ditos. O grau do polinômio é 10 para o intervalo compreendido entre 1900 a 1990, e de 13 para 1995 em diante. Os coeficientes para valores futuros do campo (variação temporal) possuem grau 8. A precisão obtida pelo modelo de grau 10 é de 1 nT na superfície terrestre e de 0.1 nT para o grau 13. Os coeficientes são ajustados a partir de dados provindos de observatórios magnéticos espalhados pelo globo, medições efetuadas por navios, aviões e satélites. Como o campo depende do tempo, os coeficientes passados podem sofrer novos ajustes em função da disponibilidade outras informações, bem como para compensar efeitos não lineares. Assim, eles podem ser definitivos (não sofrem mais ajustes) ou não-definitivos. São não-definitivos valores compreendidos entre 1900 e 1940, inclusive, e, devido à falta de dados colhidos naquelas décadas que garantissem uma cobertura global, provavelmente jamais serão definitivos. Valores no intervalo 1945 a 2000 são definitivos, e acima disto são não-definitivos no modelo IGRF10.

 

Implementou-se um modelo na linguagem C que foi convertido a partir do original em Fortran IGRF10.F, elaborado por Susan Macmillan [1], também presente em modelos da NASA [2]. Os coeficientes são armazenados no próprio código fonte (por meio de DATA), o que permite rápida execução, pois não é necessário ler um arquivo de dados, embora exija uma nova compilação sempre que houver novos dados disponíveis para o campo.  Infelizmente, modelos em C já disponíveis não possuíam as características necessárias para o simulador de atitude, e, portanto, decidiu-se converter o citado IGRF10.F. As diferenças entre as duas implementações são menores do que 10-3 nT (3s RMS), provavelmente devido a variações nas conversões de constantes da forma decimal para a binária entre as duas versões. As figuras 5.2, 5.3 e 5.4 fornecem as componentes do campo geomagnético em função do tempo, para o período entre 1960 e 2010. Percebe-se claramente nestas figuras a interpolação linear do campo a cada intervalo de 5 anos.

 

Fig. 5.2 – Componente norte do campo geomagnético, modelo IGRF10 versão C.

 

Fig. 5.3 – Componente leste do campo geomagnético, modelo IGRF10 versão C.

 

Fig. 5.4 – Componente vertical do campo geomagnético, modelo IGRF10 versão C.

 

Além da função principal para o cálculo do campo geomagnético, implementou-se um uma função adicional para permitir o uso de parâmetros comumente adotados em mecânica orbital. Assim, a função igrf10syn é praticamente igual à versão em Fortran, exceto pelos argumentos de entrada, que foram substancialmente reduzidos uma vez que não eram necessários aqui, e a função geomag_field faz a ligação entre a forma de passagem de argumentos e retorno de resultados adotada aqui com aquela adotada pela igrf10syn. Mais especificamente, o campo magnético retorna desta última por meio de um argumento (vetor de 3 componentes), enquanto geomag_field retorna um vetor do tipo vector3. As funções são descritas a seguir.

 

·         int igrf10syn (double date, double alt, double colat, double elong, double field[3]);

·         vector3 geomag_field (int output_sel, double date, vector3 geo_cor);