mcpField
P
pyrolite

pyrolite

github.com/steadfastasartデータ・データベース7360 回インストール6 週間前に更新
リポジトリ

pyrolite について

pyrolite は Python と pandas のワークフローで使う地球化学分析ツールです。組成データの処理や作図に向けて、元素の規格化、対数比変換、鉱物規範計算、各種プロットテンプレートを備えています。

主な機能

  1. 01地球化学データの規格化
  2. 02CLR・ALR・ILR 変換
  3. 03三角図とスパイダーダイアグラムの作成
  4. 04TAS・Pearce 図のテンプレート
  5. 05CIPW 規範鉱物組成の計算

活用シーン

  1. 01規格化した希土類元素パターンの作図
  2. 02組成データへの対数比分析の適用
  3. 03岩石分類図と主成分元素変化図の作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/steadfastasart/geoscience-skills --skill pyrolite

インストール後、Claude Code で/pyroliteを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
classification.md
normalization.md
scripts/
geochemistry_plots.py

詳細

pyrolite - 地球化学分析

クイックリファレンス

import pandas as pd
import matplotlib.pyplot as plt
from pyrolite.geochem.norm import get_reference_composition

df = pd.read_csv('samples.csv')
df.pyrochem   # Geochemistry methods
df.pyrocomp   # Compositional methods

# Normalize and plot REE
chondrite = get_reference_composition('Chondrite_McDonough1995')
ax = df.pyrochem.normalize_to(chondrite, units='ppm').pyroplot.REE(unity_line=True)

主なモジュール

モジュール用途
pyrolite.plot三角図、スパイダーダイアグラム
pyrolite.geochem.norm規格化の参照値
pyrolite.compCLR、ALR、ILR 変換
pyrolite.plot.templatesTAS 図、Pearce 図
pyrolite.mineral.normativeCIPW ノルム

基本的な操作

三角図
ax = df[['SiO2', 'CaO', 'Na2O']].pyroplot.scatter(c='k', s=50)
TAS 図
from pyrolite.plot.templates import TAS
df['Na2O_K2O'] = df['Na2O'] + df['K2O']
ax = TAS()
ax.scatter(df['SiO2'], df['Na2O_K2O'], c='red', s=50)
REE パターン
chondrite = get_reference_composition('Chondrite_McDonough1995')
ax = df.pyrochem.normalize_to(chondrite, units='ppm').pyroplot.REE(unity_line=True)
微量元素スパイダー図
pm = get_reference_composition('PM_McDonough1995')
ax = df.pyrochem.normalize_to(pm).pyroplot.spider(unity_line=True)
組成変換
df_closed = df.pyrocomp.renormalise(scale=100)  # Closure
df_clr = df.pyrocomp.CLR()   # Centered log-ratio
df_alr = df.pyrocomp.ALR()   # Additive log-ratio
df_ilr = df.pyrocomp.ILR()   # Isometric log-ratio
元素比と異常値
df['La_Yb'] = df['La'] / df['Yb']                        # LREE/HREE
df['Eu_Eu*'] = df['Eu'] / (df['Sm'] * df['Gd']) ** 0.5   # Eu anomaly
lambdas = df.pyrochem.lambda_lnREE()                      # REE shape
CIPW ノルム
from pyrolite.mineral.normative import CIPW_norm
norm = CIPW_norm(df)  # df must have major oxides in wt%
ハーカー図
fig, axes = plt.subplots(2, 3, figsize=(12, 8))
for ax, elem in zip(axes.flatten(), ['TiO2', 'Al2O3', 'FeO', 'MgO', 'CaO', 'Na2O']):
    ax.scatter(df['SiO2'], df[elem], c='blue', s=50)
    ax.set_xlabel('SiO2 (wt%)'); ax.set_ylabel(f'{elem} (wt%)')
Pearce 判別図
from pyrolite.plot.templates import pearce_templates
ax = pearce_templates.YNb()
ax.scatter(df['Nb'], df['Y'], c='red', s=50)

よく使われる規格化参照値

参照値コード用途
コンドライトChondrite_McDonough1995REE パターン
原始マントルPM_McDonough1995微量元素
N-MORBNMORB_SunMcDonough1989海洋玄武岩
上部地殻UCC_RudnickGao2003地殻岩

代替ツールとの使い分け

ツール最適な用途制限事項
pyrolitePython ネイティブの地球化学解析、pandas との連携、組成変換GCDkit より組み込みの分類テンプレートが少ない
GCDkit包括的な分類図、R エコシステムR ベースであり、Python ではない
PetroGraphGUI による手軽な分類と作図スクリプト化できず、カスタマイズに制限がある
Custom matplotlib作図の外観を完全に制御規格化機能やテンプレートが組み込まれていない

次の場合は pyrolite を使用してください: pandas のワークフローに統合された地球化学分析、 組成の対数比変換、または Python での REE 規格化が必要な場合。

次の場合は代替ツールを検討してください: 広範な岩石記載分類テンプレートが必要な場合 (GCDkit を使用)、分類用の手軽な GUI が必要な場合(PetroGraph を使用)、または規格化を行わない単純な 散布図だけが必要な場合(matplotlib を直接使用)。

よくあるワークフロー

地球化学的分類と REE パターン分析
  • 試料データを pandas DataFrame に読み込む
  • df.pyrocomp.renormalise(scale=100) で組成の合計を 100% にする
  • TAS() で TAS 図を作成し、試料データを重ねる
  • df.pyrochem.normalize_to() で REE をコンドライト規格化する
  • df.pyroplot.REE() で REE スパイダーダイアグラムを作成する
  • Eu 異常と La/Yb 比を計算する
  • 主要元素のハーカー変化図を作成する
  • 論文掲載用に図をエクスポートする

ヒント

  1. 解析前に組成の合計を 100% にしてください
  2. 統計解析には対数比(CLR/ALR/ILR)を使用してください
  3. スパイダーダイアグラムには適切な規格化を選択してください
  4. Eu 異常を確認してください(正の値 = 集積、負の値 = 分別結晶作用)

参考資料

スクリプト

コメント