nugrid的python工具

NuGridp的Python项目详细描述


Build StatusPyPI version

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笔记本里。一旦会话开始导入 模块,例如mesanugridseppn(取决于 您使用的是哪种类型的数据)来自nugridpy包, 例如:
from nugridpy import mesa as ms

示例会话

Jupyter笔记本中的一个典型会话示例,可以在 Web-Exploration of NuGrid Data Interactive (WENDI)服务器的外观如下:

  1. 转到https://wendi.nugridstars.org并使用github id登录 (会话将按固定间隔筛选>;几个小时,如果您 要在此试用期之后使用此服务,请将消息发送到 在uvic.ca)处注射fherwig)

  2. 启动python 3 ipython笔记本

  3. 加载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)
    
  4. 创建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)
    
  5. 绘制Hertzsprung-Russel图或Kippenhahn图

    m2z02_see.hrd_new()
    
    m2z02_see.kip_cont()
    
  6. 查询文档字符串,从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
克隆和Python

特别是对于开发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。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在JScrollPane标题中禁用鼠标滚轮滚动?   java如何为篮球计分器应用程序存储包括球队名称在内的比赛分数?   java如何使用ADT接口实例化列表   JavaCV抓取帧方法延迟并返回旧帧   java在上传文件时处理网络问题   java如何创建2d阵列的克隆?   关于XMLGregorianCalendar的java信息   java XmlUnit在比较XML文件时忽略元素的顺序   java如何最好地检测无意义的文本?   克隆如何制作java扫描仪的副本?   验证Java中空值的BigDecimal数据类型   java字符串数组中的字数   java JavaFX:如何选择平铺并添加数字和边框线?   java更改jtable中从jar文件获取的特定行的颜色   正则表达式Java字符串。拆分:将\\W用作非单词分隔符时出现问题   当内存损坏时,Java中的同一引用/实例变量会发生什么变化?   java无法在Javadoc注释中链接到JDK10