从磁数据计算居里深度的python工具

pycurious的Python项目详细描述


PyCurious

Docker Cloud Automated buildPyPIDOIBuild Status

磁性数据是地球表面最常见的地球物理数据集之一。居里深度是岩石失去磁性的深度。最常见的磁性矿物是磁铁矿,其居里点为580°C,因此居里深度通常被解释为580°C等温线。

目前求居里深度的方法首先是计算磁异常的方窗上的(快速)傅里叶变换,该磁异常已降到极点。利用径向功率谱的斜率估计磁源的深度和厚度。pycurious实现了tanaka等。(1999)和boulgand等人。(2009)计算埋磁源厚度的方法。pycurious摄取磁异常图,并将居里深度的计算分布在多个cpu上。与此软件包捆绑在一起的jupyter笔记本中介绍了常见的计算工作流和对磁性数据的地理空间操作。

活页夹

mybinder.org

启动演示

badge

导航/笔记本

有两个匹配的jupyter笔记本-一个用于Tanaka实现,另一个用于Bouligand实现。noteboks的boulgand集是贝叶斯推理应用的自然选择。

注意,这些示例可以通过运行:

importpycuriouspycurious.install_documentation(path="Notebooks")

田中

硼配体

安装

依赖性

您需要python 2.7或3.5+。 此外,还需要以下软件包:

映射模块和运行笔记本的可选依赖项

使用pip

安装

您可以使用 ^{}使用任一版本的python:

python2 -m pip install pycurious
python3 -m pip install pycurious

所有依赖项将由pip自动安装。

使用conda

安装

您可以使用conda package manager安装pycurious。 它所需的依赖项可以通过以下方式轻松安装:

conda install numpy scipy cython

以及一整套依赖项:

conda install numpy scipy cython matplotlib pyproj cartopy

然后pycurious可以与pip一起安装:

pip install pycurious
Conda环境

或者,您可以创建一个自定义 conda environment 其中pycurious可以与其依赖项一起安装。

克隆存储库:

git clone https://github.com/brmather/pycurious
cd pycurious

environment.yml文件创建环境:

conda env create -f environment.yml

激活新创建的环境:

conda activate pycurious

pip安装pycurious

pip install pycurious

发布GCC

如果pycurious安装由于an issue with ^{} and Anaconda而失败,则 需要用conda:

安装gxx_linux-64
conda install gxx_linux-64

然后正常安装pycurious

使用Docker安装

可以使用Docker部署pycurious及其所有依赖项的更直接的安装。 安装Docker映像并启动Jupyter笔记本示例:

docker pull brmather/pycurious:latest
docker run --name pycurious -p 8888:8888 brmather/pycurious:latest

用法

py好奇由两个类组成:

  • CurieGrid:计算径向功率谱的基类,用于处理的质心,子网格的分解。
  • CurieOptimise:用于拟合合成功率谱的优化模块(继承curiegrid)。

还包括一个mapping模块,用于网格化分散的数据点,以及坐标参考系(crs)之间的转换。

下面是计算径向功率谱的简单工作流程:

importpycurious# initialise CurieOptimise object with 2D magnetic anomalygrid=pycurious.CurieOptimise(mag_anomaly,xmin,xmax,ymin,ymax)# extract a square window of the magnetic anomalysubgrid=grid.subgrid(window_size,x,y)# compute the radial power spectrumk,Phi,sigma_Phi=grid.radial_spectrum(subgrid)

一系列测试位于tests子目录中。 为了执行这些测试,克隆存储库并运行^{}

git checkout https://github.com/brmather/pycurious.git
cd pycurious
pytest -v

API文档

可以从https://brmather.github.io/pycurious/访问pycurious中所有函数和类的api。

参考文献

  1. Boulgand,C.,Glen,J.M.G.,和Blakely,R.J.(2009年)。利用地壳磁化的分形模型绘制美国西部居里温度深度图。地球物理研究杂志,114(b11104),1-25.https://doi.org/10.1029/2009JB006494
  2. Tanaka,A.,Okubo,Y.,和Matsubayashi,O.(1999)。基于东亚和东南亚磁异常谱分析的居里点深度。构造物理学,306(3-4),461-470。https://doi.org/10.1016/S0040-1951(99)00072-4

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

推荐PyPI第三方库


热门话题
如何使用java向dropup html/css添加项目   如何从java中的向量向量打印   Java Maven库项目模板   java使用atmosphere api还是直接使用grizzly?   java JComponent仅部分显示   如何将动态值传递给自定义注释,以从Java数据进行映射。性质   java破解已实现方法的返回类型的最佳方法?   java Netbeans在JFrame Gui布局中覆盖图像   spring java仅向登录用户显示注销按钮   java如何对com进行身份验证。谷歌。云bigquery。带有服务帐户的BigQuery`   java禁止空字符串参数和抛出RuntimeException以阻止方法继续的利弊   java分析项目中的所有JAR以获取版本和许可证信息   Java,数据库为什么要分配一个新对象,而我们可以直接将它放入数据库