ncar辉光模型
ncarglow的Python项目详细描述
发光
全局airglow模型,可从fortran 2003编译器独立轻松地访问。 可选的脚本语言包括:
- python≥3.6
- Matlab
- GNU倍频程≥4.2
- IDL/GDL
我们在下面描述每种语言;选择适合你的语言。 python是最简单和推荐的选择。 在任何情况下都需要Fortran编译器。
Python
安装/编译者:
git clone https://github.com/space-physics/ncar-glow pip install -e ncar-glow
使用确认安装:
pytest ncar-glow
然后使用以下示例:
- simple.py:maxwellian精度,指定q和e0。
- py:指定一个能量仓的单位通量,所有其他能量仓都是零通量。
或者在您自己的python程序中使用glow,方法是:
importncarglowasglowiono=glow.simple(time,glat,glon,Q,Echar,Nbins)
iono
是
xarray.Dataset
包含辉光输出,包括:
- 中性粒子、离子和电子的数密度
- 彼得森和霍尔电流
- 体积释放率与波长和高度的关系
- 沉淀通量与能量的关系
- 更多的,如果你想要的话。
Fortran
您可以从meson wrap或cmake fetch调用此repo。 要自行生成Fortran代码,请执行以下任一操作:
meson build
meson test -C build
或
cmake -B build cmake --build build
mpi/netcdf
并行版本的Glow需要MPI和NetCDF用于Tiegcm I/O。
mpirun -np 2 ./mpi_glow.bin < ~/data/in.namelist.tgcm
注意,出于未知的原因,in.namelist.msis
只适用于-o0或-o1和gfortran 7。我们没有调查原因。
否则,-o3工作正常。
Matlab/GNU倍频程
Matlab接口位于matlab目录中,通过stdin/stdout管道将数据传递到/从Glow传递到。
首先,通过运行setup.m
然后,
- 使用内置能源和高度箱:Simple.m
- 用户输入能量网格:Monoenergetic.m
注:如果使用GNU倍频程,则正确的textscan() functionality
IDL/GDL
感谢guy grubbs,我们有一个idl/gdl的小脚本。 如果您需要,请告诉我们,我们还没有花时间上传。