美文网首页
07_Geoist的magmod模块模型更新

07_Geoist的magmod模块模型更新

作者: 地学小哥 | 来源:发表于2020-03-23 06:51 被阅读0次

内容摘要:Geoist的地磁模型模块支持多种地磁场模型的球谐系数解算,magmod模块目前支持8种全球地磁模型场模型,本次更新支持了最新的WMM2020和IGRF13版本模型服务。

1、地磁场模型

球磁场跟地球引力场一样,是一个地球物理场,它是由基本磁场与变化磁场两部分组成的。基本磁场是地磁场的主要部分,起源于地球内部,比较稳定,变化非常缓慢。变化磁场包括地磁场的各种短期变化,与电离层的变化和太阳活动等有关,并且很微弱。

IGRF(International Geomagnetic Reference Field,国际地磁参考场)是有关地球主磁场与长期变化的模型,IGRF的误差主要来源于:忽略外源场、球谐级数的截断、台站分布的不均匀、测量、忽略地壳磁异常场等。IAGA的有关小组每5年给出一个世界地磁参考场(IGRF)。

WMM模型与IGRF类似,也是描述地球主磁场的模型。一般用于海洋磁力测量地磁正常场校正。该模型也是5年更新一次,最新模型为WMM2020。

最新版本的国际地磁参考场模型的发布,一般能更好的反映地磁场的空间和时间变化规律。

为了尽快将新的模型应用到实际测量正常场校正数据处理及其它应用领域中,GEOIST集成的magmod模块针对最新发布的上述两个模型系数进行了更新。

2、magmod模块

  • IGRF11&12&13 model
  • WMM.COF - WMM 2010/2015/2020 magnetic model coeficients
  • EMM-720_V3p0_static.cof - EMM 2010 magnetic model coeficients (static)
  • EMM-720_V3p0_secvar.cof - EMM 2010 magnetic model coeficients (secular variation)
  • CHAOS-6 Core Static x8 Core model
  • DIFI model - ionospheric model
  • LCS-1 model LCS-1 lithospheric field model
  • MF7 model crustal field model MF7 by Stefan Maus and co-workers.
  • SIFM model SIFM: Swarm Initial Field Model

3、Geoist示例代码

安装完Geoist工具包后,可以运行以下代码:

import datetime as dt

from geoist.magmod.magnetic_model.loader_igrf import load_model_igrf
from geoist.magmod.magnetic_model.loader_wmm import load_model_wmm
from geoist.magmod.magnetic_model.loader_emm import load_model_emm
from geoist.magmod.magnetic_model.loader_shc import (
    load_model_shc, load_model_shc_combined,
)
from geoist.magmod.magnetic_model.loader_mio import (
    load_model_swarm_mio_internal,
    load_model_swarm_mio_external,
)

from geoist.magmod.data import (
    EMM_2010_STATIC, EMM_2010_SECVAR, WMM_2015, WMM_2020, IGRF13, 
    CHAOS6_CORE_LATEST, CHAOS6_STATIC,
    IGRF11, IGRF12, SIFM,
)
from geoist.magmod.time_util import (
    decimal_year_to_mjd2000, decimal_year_to_mjd2000_simple,mjd2000_to_decimal_year,mjd2000_to_year_fraction
)
from geoist.magmod.util import datetime_to_decimal_year, vnorm

from geoist.magmod.magnetic_model.parser_mio import parse_swarm_mio_file
from geoist.magmod.magnetic_model.tests.data import SWARM_MIO_SHA_2_TEST_DATA
import geoist.magmod._pymm as pymm

print(SWARM_MIO_SHA_2_TEST_DATA) #DIFI4 is a type of MIO SHA model
print(mjd2000_to_decimal_year(7305))
print(mjd2000_to_decimal_year([5479., 7305., 6392.0]))
d1 = dt.datetime(2015,1,1)   # import time , location(lat, lon)
d11 = datetime_to_decimal_year(d1) # datetime to decimal year
loc = (30.0, 40.0, 1000.0)
wmm2015 = load_model_wmm(WMM_2015)  #load wmm2015 model
igrf11 = load_model_igrf(IGRF11)    #load igrf11 model
igrf12 = load_model_shc(IGRF12, interpolate_in_decimal_years=True)    #load igrf12 model

igrf13 = load_model_igrf(IGRF13)
wmm2020 = load_model_wmm(WMM_2020)

emm = load_model_emm(EMM_2010_STATIC, EMM_2010_SECVAR)  #load emm model
options = {"scale": [1, 1, -1]}   #-1 is Z direction

## renew for the IGRF13 and WMM2020 models on 2020-03-22
d2 = 2022.5
loc1 = (80.0, 0.0, 100.0)
wmm2020.eval(decimal_year_to_mjd2000(d2), loc1, 0, 0, **options) 
igrf13.eval(decimal_year_to_mjd2000(d2), loc1, 0, 0, **options)
## the result has been checked with WMM2020testvalues.pdf 

如果需要验证结果的准确性,可以参考下图表格信息。

图1 WMM2020版本模型系数

小结:上面代码有点复杂,但是有用的就是后面4行,如果不需要其他模型,可以忽略前面的内容。最新版的geoist可以在github上面获得,有问题欢迎大家给小哥留言。

相关文章

  • 07_Geoist的magmod模块模型更新

    内容摘要:Geoist的地磁模型模块支持多种地磁场模型的球谐系数解算,magmod模块目前支持8种全球地磁模型场模...

  • 06_Geoist之地磁模型计算

    内容摘要:Geoist的magmod模块,支持了8种常见的地磁场模型解算功能。地磁场无时不刻不在变化,一般可以分为...

  • 模型数据热更新——reload模块

    背景 当模型部署之后,后期需要对数据进行日常更新。此时,部署的服务不可以停止,因此模型数据需要热更新。 模型数据热...

  • npm 更新模块

    4.4 更新模块更新模块使用 npm update 指令。 更新模块注意事项更新模块只能往后面版本更新,不能往老的...

  • pytorch【模型模块】一、模型创建步骤与nn.Module

    一、前言 机器学习模型主要有以下几个大的模块: 前面的内容是关于数据模块,这里的内容是关于模型模块。 二、模型创建...

  • isBIM算量破解版软件免费下载附安装教程

    isBIM算量软件是一款功能强大的算量软件,包含工程模块、模型映射模块、编码映射模块、模型优化模块、计算与分析模块...

  • 使聊天机器人具有个性

    本文结构: 模型效果 模型的三个模块 模块细节 今天的论文是 《Assigning Personality/Ide...

  • 混沌创新课笔记-第一曲线

    创新模块思维模型:第一曲线、第二曲线、分形创新 战略模块思维模型:组合创新、单一要素、战略杠杆 竞争模块思维模型:...

  • git子模块管理的常用命令

    添加子模块 查看子模块 更新子模块 初始化子模块 更新子模块 拉取所有子模块 使每个子模块checkout到mas...

  • pytorch线性回归(构建模型流程)

    先贴个笔记:均方损失函数,注意SGD更新参数注意 1.构建模型 设计网络的结构,pytorch有方便的模块和函数可...

网友评论

      本文标题:07_Geoist的magmod模块模型更新

      本文链接:https://www.haomeiwen.com/subject/bbevyhtx.html