python接口到litho 1.0数据集-基于stripy

litho1pt0的Python项目详细描述


岩性1pt0

tripack和stripack fortran代码的python接口,用于在笛卡尔坐标系和球体上进行(受约束的)三角剖分。stripy是一个面向对象的包,包含srfpack和ssrfpack中的例程,用于插值(最近邻、线性和hermite立方)和求导(renka 1996a、b和1997a、b)。

stripylitho1pt0捆绑在一起,后者是地壳1.0数据集和岩石1.0数据集(laske et al,2013和pasyanos et al,2014)的岩石圈部分的python接口,两者都需要并演示由^{提供的球体上的三角测量/搜索和插值。

Examples

使用stripy创建的示例图像,演示了网格划分功能、优化网格以匹配数据密度等条件的功能,以及创建网格距离加权平均值和连续插值函数的功能

活页夹

mybinder.org

启动演示

Binder

导航/笔记本

有两组匹配的stripy笔记本-一组用于Cartesian Triangulations,一组用于Spherical Triangulations。对于大多数地理应用来说,球面三角剖分是自然选择,因为它们期望经纬度坐标(公认是弧度坐标)。

注意:笛卡尔和球面笔记本可以从stripy本身获得/安装,如下所示:

   python -c 'import stripy; stripy.documentation.install_documentation(path="Notebooks")'

笛卡尔

球形

示例

注意,这些示例是litho1pt0中的笔记本,它们是从 包装本身:

   python -c 'import litho1pt0; litho1pt0.documentation.install_documentation(path="Notebooks")'

前三个笔记本是litho1pt0的介绍,没有明确提到stripy,但是 接下来的两个例子展示了如何在stripy例程的帮助下搜索、插值和绘图。

安装

最好安装(numpy和Fortran编译器 gfortran,必需):

python setup.py build
  • 如果更改Fortran编译器,则可能需要添加 运行setup.py时的标志config_fc --fcompiler=<compiler name> (有关numpy.distutils,请参见文档)。
python setup.py install

或者使用pip安装:

pip install [--user] stripy

用法

条纹套装包含两个类别:

  • 条纹(球面坐标)
  • 三角测量(笛卡尔坐标)

这些类共享相似的方法,并且可以很容易地交换。 此外,还提供了许多用于构建的助手函数

一系列测试位于tests子目录中。

码头工人

不依赖于特定编译器的更直接的安装依赖于docker虚拟化系统。

要安装Docker映像并测试它是否正常工作:

   docker pull lmoresi/stripy:latest
   docker run --rm lmoresi/stripy:latest help

安装bash的帮助脚本:

   docker run --rm lmoresi/stripy:latest bash_utils > bash_utils.sh
   source bash_utils.sh

(您可能会发现移动/重命名此文件并将其从 登录时的bash配置文件)

bash-utils.sh脚本安装以下函数 可通过bash命令行使用:

  stripy-docker-help
  stripy-docker-sh
  stripy-docker-nb
  stripy-docker-browse
  stripy-docker-serve
  stripy-docker-terminal

有关这些功能的详细信息,请运行

source bash_utils.sh
  stripy-docker-help

要像使用docker版本一样使用,比如说,使用ipython在命令行上键入:

source bash_utils.sh  # (only needs to be done once)
   stripy-docker-terminal
   ls
   ipython

使用Docker版本运行脚本

source bash_utils.sh  # (only needs to be done once)
   stripy-docker-sh my_python_script.py

参考文献

  1. Laske,G.,G.Masters和Z.MA(2013年),《甲壳1的更新》。地壳0-a 1度全球模型,地球物理研究摘要,15,egu2013-2658。

  2. Pasyanos,M.E.,T.G.Masters,G.Laske和Z.MA(2014年),《岩石1.0:更新地壳》地球岩石圈模型,地球物理研究杂志固体地球,119(3),2153–2173,doi:10.1002/2013jb010626。

  3. R.J.Renka,“算法751:Tripack:一个约束的二维Delaunay三角剖分包”,ACM Trans.数学。《软件》,第22卷,第1期,1996年,第1-8页。

  4. R.J.Renka,“算法752:SRFPack:张力下带约束曲面的散乱数据拟合软件”,ACM Trans.数学。软件,第22卷,第1期,1996年,第9-17页。

  5. R.J.Renka,“算法772:Stripack:球面上的Delaunay三角剖分和Voronoi图”,ACM Trans.数学。《软件》,第23卷,第3期,1997年,第416-434页。

  6. R.J.Renka,“算法773:SSRFPACK:在有张力表面的球体表面上的散射数据插值”,ACM Trans.数学。软件,第23卷,第3期,1997年,第437-439页。

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

推荐PyPI第三方库


热门话题
使用AspectJ的Java字节码错误   java使用JButton向JPanel添加形状   java如何在Android Studio中使用lombok显示Javadoc?   java计算具有不同时区的服务器和客户端之间的时差   java使用JasperFillManager。fillReport(jasperReport、参数、数据源),jasperReport是否可以重用   我们可以在java中使用php web服务吗?   javascript JS前端web开发框架?   java使用Jsoup解析在线词典结果   如何识别哪些缺失的Java库使JAXB工作?   解压缩用java编写的Azure函数会引发FailureException:OutOfMemoryError:java堆空间堆栈,而解压缩文件大小>80MB   google应用程序引擎如何在Java中创建电子邮件验证URL?   java oracle。jdbc。Eclipse中的驱动程序   java On我可以从底部的点击监听器栏打开片段吗?   java hadoop如何通过引用传递?   java STS Spring与Roo和Maven的速度太慢?   java在安卓中如何将字节数组转换为long   java无法将JDateChooser组件添加到JFrame   JavaFX中的java调整大小切换按钮   java通过正则表达式拆分字符串