IGRF13、IGRF12、IGRF11 模型具有简单的面向对象的 Python 接口。
项目描述
Python 中的 IGRF 13
国际地磁参考场:面向对象的 Python 或 Matlab 中的 IGRF13。
安装
需要 Fortran 编译器,例如gfortran:
- Linux:
apt install gfortran - 苹果电脑:
brew install gcc - 适用于 Windows 的 gfortran (MinGW)
获取 IGRF Python 开发版本,git clone然后:
python -m pip install -e .
否则,对于 PyPi 的最新版本:
python -m pip install igrf
或者,使用以下命令测试安装:
pytest
例子
要制作本自述文件中的情节:
igrf
在大地坐标 65N、148W 处用作 Python 模块:
import igrf
mag = igrf.igrf('2010-07-12', glat=65, glon=-148, alt_km=100)
返回一个xarray.Dataset:
<xarray.Dataset>
Dimensions: (alt_km: 1)
Coordinates:
* alt_km (alt_km) int64 100
Data variables:
north (alt_km) float64 1.122e+04
east (alt_km) float64 4.148e+03
down (alt_km) float64 5.302e+04
total (alt_km) float64 5.436e+04
incl (alt_km) float64 77.29
decl (alt_km) float64 20.29
MATLAB
Matlab 可以无缝调用 Python 模块,如igrf.m中使用的那样。代替 1000 美元的航空航天工具箱,使用这个免费的 IGRF for Matlab,例如:
igrf.igrf(datetime(2020,1,3,5,4,22), 20, 60, 0)
您可能会发现首先运行“setup.m”来设置库路径很有帮助。
参考
- IGRF13 Fortran 代码
- IGRF12 Fortran 代码
- IGRF11 Fortran 代码
- WMM2015倾角图
- WMM2015赤纬图