nugrid的python工具
NuGridp的Python项目详细描述
nugridpy
NuGridPy是nugrid python 提供访问和分析(如绘图)各种输出的工具的包 格式(包括NuGrid hdf5-based se format)来自nugrid代码(mppnp和 以及使用NuGrid mesa_h5 MESA extension的台地恒星演化代码。原则上 如果 NuGrid se libraries用于 输出。py模块将在 LOGS目录。
使用nugridpy
nugridpy模块是以交互工作模式编写的, 或者
- 利用交互式ipython会话,或
- 在一本Jupyter Ipyhon笔记本里。一旦会话开始导入 模块,例如mesa、nugridse或ppn(取决于 您使用的是哪种类型的数据)来自nugridpy包, 例如:
from nugridpy import mesa as ms
示例会话
Jupyter笔记本中的一个典型会话示例,可以在 Web-Exploration of NuGrid Data Interactive (WENDI)服务器的外观如下:
转到https://wendi.nugridstars.org并使用github id登录 (会话将按固定间隔筛选>;几个小时,如果您 要在此试用期之后使用此服务,请将消息发送到 在uvic.ca)处注射fherwig)
启动python 3 ipython笔记本
加载nugridpy包并初始化数据源:
%pylab # loading packages from nugridpy import nugridse as nuse from nugridpy import mesa #setting data path for mesa and nuse data_dir='/data/nugrid_vos' # data_dir='/data/nugrid_apod2/' # alternative data store # do ! ls /data/nug* to check for other alternative data stores mesa.set_nugrid_path(data_dir) nuse.set_nugrid_path(data_dir)
创建SEE和PPD实例
# see: Stellar Evolution and Explosion data # ppd: Post-Processing Data m2z02_ppd=nuse.se(mass=2,Z=0.02) m2z02_see=mesa.history_data(mass=2,Z=0.02)
绘制Hertzsprung-Russel图或Kippenhahn图
m2z02_see.hrd_new()
m2z02_see.kip_cont()
查询文档字符串,从ppd data目录绘制丰度剖面图
m2z02_see.plot?
figure(11) m2z02_ppd.plot('mass','Ba-138',fname=33500,logy=True,shape='-',\ linewidth=2,limits=[0.5882, 0.5889,-7.8, -3.2])
species=['H-1','C-12','C-13','N-14','Fe-56','Sr-86','Ba-138','Pb-206'] ifig=121;close(ifig);figure(ifig) m2z02_ppd.abu_profile(isos=species, ifig=ifig, fname=45500, logy=True, colourblind=True) ylim(-9,0) xlim(0.603,0.6033) title("Formation of the $^\mathsf{13}\mathsf{C}$ pocket: the partial H-$^\mathsf{12}\mathsf{C}$ zone")
文件
每个模块、类、函数都有(或者应该有!)合理的文件 模块中的字符串。阅读文档字符串:help(ms), m2z02_see.plot?
文档字符串也可以在Documentation web page上找到。
如果你做了测试和调试改进,我们很高兴知道 关于他们。在github上发出请求。这些改进包括 文档。
这里提供的工具对我们很有用,但当然还有 很多事情需要注意和改进。请添加提交 issue关于github repo的改进意见和报告bug。 如果你想帮忙,请告诉我们。拉取请求和新问题 非常欢迎!
安装
有几种方法可以安装nugridpy。
pypi
PYPI的主要版本:
pip install nugridpy
从github发布:
有时您希望安装特定版本。去NuGridPy Release page然后 确定所需版本的标记。如果标记是v0.7.2 使用以下命令安装pip版本(您可以选择 鸡蛋名称的其他内容:
pip install -e git://github.com/NuGrid/NuGridPy.git@v0.7.4#egg=nugridpy
如果您只想在github上安装最新的提交 使用github可以做到:
pip install git+https://github.com/NuGrid/NuGridPy.git
特别是对于开发nugridpy,您可能希望使用pip,但是有更多 控制安装的位置,更改repo并提交 回来。在这种情况下,您可以克隆此回购协议,例如:
cd ; mkdir src; cd src git clone https://github.com/NuGrid/NuGridPy.git
并将PYTHONPATH变量指向nugridpy repo目录。
在Jupyter笔记本中,您可以按以下方式设置路径:
import sys sys.path.append('/home/user/src/NuGridPy')
必需的软件包
所有模块都应该使用推荐的python发行版 NuGridDoc python 发行版,带有一个附加包,future包 需要另外安装。
nugridpy具有以下python依赖项: numpy scipy matplotlib h5py xlrd future
有关所需包、依赖项和手册的其他详细信息 安装请参考wiki。