3-D 电离层模型绘图套件
项目描述
PyGemini
Gemini3D的 Python 接口,部分由 NASA HDEE 资助。
设置
需要 Python ≥ 3.7。我们一般建议 Python ≥ 3.8 以获得完整的功能/稳健性。
通过以下方式设置 PyGemini:
git clone https://github.com/gemini3d/pygemini
pip install -e pygemini
建造
并非所有用户都需要在安装了 PyGemini 的同一设备上运行 Gemini3D。在第一个之前gemini3d.run(),底层的 Gemini3D 代码是由 构建的gemini3d.setup(),包括所有必要的库。
python -m gemini3d.prereqs
允许手动安装这些库以节省重建时间,但这是可选的,因为 Gemini3D 会自动下载并构建缺少的库。
开发者
对于那些使用 GEMINI Fortran 代码本身或使用非发布版本的 GEMINI Fortran 代码的人:
- 如上以开发模式安装 PyGemini
- 将环境变量 GEMINI_ROOT 设置为 Gemini3D Fortran 代码目录,否则 PyGemini 将 Git 克隆一个新副本。
运行模拟
-
为平衡 sim制作具有所需参数的config.nml 。
-
设置和/或运行平衡模拟:
python -m gemini3d.model /sim_equil/config.nml /path_to/sim_eq/ # or python -m gemini3d.run /sim_equil/config.nml /path_to/sim_eq/ -
为实际模拟创建一个新的 config.nml 并运行
python -m gemini3d.model /sim/config.nml /path_to/sim_out/ # or python -m gemini3d.run /sim/config.nml /path_to/sim_out/
情节
任何模拟的一个重要部分是查看输出。由于涉及大量数据,大多数绘图功能会自动将 PNG 堆栈保存到磁盘,以便使用您喜欢的图像查看程序快速浏览。
网格
帮助确保模拟网格符合以下要求,可在运行模拟之前或之后使用。
import gemini3d.plot
gemini3d.plot.grid("path/to/sim")
模拟输出
这些命令创建绘图并保存到指定数据目录下的“plots/”目录下的磁盘。
命令行:
python -m gemini3d.plot path/to/data -save png
或从 Python 中:
import gemini3d.plot as plot
plot.frame("path/to/data", datetime(2020, 1, 2, 1, 2, 3), saveplot_fmt="png")
# or
plot.plot_all("path/to/data", saveplot_fmt="png")
将数据文件转换为 HDF5
有一个脚本可以将数据转换为 HDF5,另一个脚本可以将网格转换为 HDF5。脚本从 {raw, Matlab, NetCDF4} 转换为 HDF5。这样做的好处对于原始数据尤为显着,HDF5 可以压缩 50% 或更多,并使数据具有自描述性。
python scripts/convert_data.py h5 ~/mysim
python scripts/convert_grid.py h5 ~/mysim/inputs/simgrid.dat