|
Size: 10403
Comment:
|
← Revision 15 as of 2026-01-02 22:01:46 ⇥
Size: 10476
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 60: | Line 60: |
| || [[https://lscsoft.docs.ligo.org/lalsuite/|lalsuite]] || {{{mamba install -c conda-forge lalsuite}}} || LAL (LIGO Algorithm Library)。直接呼ばなくても、フレームファイルの読み書きの裏側で必須。 || | |
| Line 61: | Line 62: |
| || [[https://lscsoft.docs.ligo.org/lalsuite/|lalsuite]] || {{{mamba install -c conda-forge lalsuite}}} || LAL (LIGO Algorithm Library)。直接呼ばなくても、フレームファイルの読み書きの裏側で必須。 || | |
| Line 63: | Line 63: |
| || [[https://pypi.org/project/dttxml/|dttxml]] || {{{pip install dttxml}}} || KAGRA/LIGOの計測制御で使うDTT (Diagnostics Test Tools) のXML/フィルタファイルを読み込む。 || | |
| Line 65: | Line 64: |
| || [[https://pypi.org/project/dttxml/|dttxml]] || {{{pip install dttxml}}} || KAGRA/LIGOの計測制御で使うDTT (Diagnostics Test Tools, diaggui) のXML/フィルタファイルを読み込む。 || | |
| Line 70: | Line 70: |
| || [[https://github.com/gwomicron/pyomicron|pyomicron]] || {{{pip install pyomicron}}} || グリッチ検出パイプライン Omicron のPythonラッパー/ツール。 || || gwsim || (Check document) || 重力波波形のシミュレーション関連(要確認: 特定の解析用途に応じて導入)。 || |
|| [[https://github.com/gwpy/pyomicron|pyomicron]] || {{{mamba install -c conda-forge pyomicron}}} || グリッチ検出パイプライン Omicron のPythonラッパー/ツール。 || || [[https://gitlab.et-gw.eu/wouters/gwsim|gwsim]] || {{{uv pip install gwsim}}} || 重力波波形のシミュレーション関連(要確認: 特定の解析用途に応じて導入)。 || |
| Line 95: | Line 95: |
| mamba install -c conda-forge python=3.11 gwpy python-nds2-client jupyterlab lalsuite pycbc gwdetchar gwsumm pygwb obspy geopandas natsort chardet bottleneck lmfit iminuit gwinc tqdm | mamba install -c conda-forge python=3.11 gwpy python-nds2-client jupyterlab lalsuite pycbc gwdetchar gwsumm pygwb pyomicron obspy geopandas natsort chardet bottleneck lmfit iminuit gwinc tqdm |
| Line 100: | Line 100: |
| pip install dttxml pyomicron | pip install dttxml |
ライブラリとパッケージ
Contents
はじめに: Pythonのバージョンについて
2025年現在、KAGRA/PEMの解析環境としては Python 3.11 をベースにすることを強く推奨します。 最新の 3.12 や 3.13 は、一部の科学技術計算ライブラリ(特に古い計測機器制御や特殊な信号処理系)がまだ完全に対応していない場合があり、環境構築でトラブルの原因になりやすいためです。
用語の整理
Pythonを触っているとよく出てくる用語について、簡単にまとめておきます。
モジュール (Module): Pythonのコードが書かれた1つのファイル(.pyファイル)。import math のように読み込んで使います。
パッケージ (Package): 複数のモジュールをディレクトリ(フォルダ)にまとめて整理したもの。通常 __init__.py というファイルが含まれています。
ライブラリ (Library): 複数のパッケージやモジュールをまとめて、特定の機能(数値計算、グラフ描画など)を提供するための集合体。「インストールして使う便利道具箱」です。
関数 (Function): 何らかの入力(引数)を受け取り、処理を行って結果(戻り値)を返す命令の塊です。例: y = sin(x)
クラス (Class): データと、それを処理する関数をひとまとめにした設計図です。GWpyの TimeSeries もクラスの一種で、これを実体化(インスタンス化)して使います。
環境構築・インストールの方法
ライブラリのインストールには、主に Conda (Mamba) を使用します。 具体的なセットアップ方法やコマンドの使い方は、以下のページを参照してください。
よく使う標準ライブラリ (インストール不要)
Pythonをインストールした時点で最初から入っているライブラリです。 これらは mamba install する必要はありませんが、解析スクリプト内で頻繁に import します。 (リンク先はPython公式ドキュメントです)
import時の名前 |
説明 |
ファイルパスの操作、ディレクトリの作成などOS機能へのアクセス。 |
|
Pythonのシステム設定、パスの追加、スクリプトの引数処理など。 |
|
glob.glob('*.gwf') のように、ワイルドカードでファイルリストを取得する。 |
|
日付や時刻の計算・変換。GPS時刻との変換時によく使う。 |
|
基本的な数学関数(sin, cos, sqrtなど)。配列を扱わない単純計算用。 |
よく使う外部ライブラリ一覧
KAGRA/PEMのデータ解析において「これだけは入れておくべき」というライブラリのリストです。 環境構築時にまとめてインストールしてしまいましょう。
注意: インストールコマンドは、仮想環境(conda environment)に入った状態で実行してください。
解析・グラフ描画の基礎
科学技術計算の「三種の神器」+αです。便利なユーティリティも含みます。
import時の名前 |
インストールコマンド |
説明 |
(gwpy等で自動インストール) |
数値計算の基礎。配列(ベクトル・行列)計算を高速に行う。必須。 |
|
(gwpy等で自動インストール) |
科学技術計算。信号処理(フィルタ、FFT)、最適化、統計など。必須。 |
|
(gwpy等で自動インストール) |
グラフ描画のデファクトスタンダード。必須。 |
|
(geopandas等で自動インストール) |
表形式データの処理。CSVの読み書きや時系列データの整理に便利。 |
|
mamba install natsort |
自然順ソート(file1, file2, ... file10 の順に並べる)に使う。 |
|
mamba install chardet |
文字コード判定。日本語を含む古いCSVなどを読み込む際のトラブルシューティングに。 |
|
mamba install bottleneck |
移動平均などのスライディングウィンドウ処理を高速化するライブラリ。 |
|
mamba install lmfit |
非線形最小二乗法ライブラリ。Scipyよりも直感的にフィッティングができる。 |
|
mamba install iminuit |
高エネルギー物理で標準的な「Minuit」のPython版。高度なフィッティング用。 |
重力波・KAGRAデータ解析
我々の分野に特化したライブラリです。多くのツールは conda-forge チャンネルで提供されています。
import時の名前 |
インストールコマンド |
説明 |
mamba install -c conda-forge gwpy |
重力波データ解析用。時系列データの取得・プロット・スペクトル解析が簡単。 |
|
mamba install -c conda-forge lalsuite |
LAL (LIGO Algorithm Library)。直接呼ばなくても、フレームファイルの読み書きの裏側で必須。 |
|
mamba install -c conda-forge python-nds2-client |
KAGRAのクローズドなデータサーバー (NDS) にアクセスするために必要。 |
|
(gwpy等で自動インストール) |
LIGO/Virgo/KAGRAの公開データ (Open Data) を取得するツール。 |
|
(gwdetchar等で自動インストール) |
分散ストレージ上のフレームファイルのパスを検索するツール。 |
|
pip install dttxml |
KAGRA/LIGOの計測制御で使うDTT (Diagnostics Test Tools, diaggui) のXML/フィルタファイルを読み込む。 |
|
mamba install -c conda-forge gwinc |
干渉計のノイズバジェット(感度計算)を行うシミュレーションツール。 |
|
mamba install -c conda-forge gwdetchar |
検出器の特性評価(DetChar)用ツール群。 |
|
mamba install -c conda-forge gwsumm |
解析結果のサマリーページ(HTML)を作成するツール。 |
|
mamba install -c conda-forge pycbc |
コンパクト連星合体(CBC)の探索・パラメータ推定用ライブラリ。 |
|
mamba install -c conda-forge pygwb |
背景重力波(SGWB)解析用ライブラリ。 |
|
mamba install -c conda-forge pyomicron |
グリッチ検出パイプライン Omicron のPythonラッパー/ツール。 |
|
uv pip install gwsim |
重力波波形のシミュレーション関連(要確認: 特定の解析用途に応じて導入)。 |
地球物理・環境モニター系
PEMグループではよく使う、地図・座標・地震学関連のライブラリです。
import時の名前 |
インストールコマンド |
説明 |
mamba install -c conda-forge obspy |
地震学用ライブラリ。地震計データの解析、miniseedフォーマット等の読み込みに強力。 |
|
mamba install -c conda-forge geopandas |
Pandasの拡張。地図データ(シェープファイル等)を扱う。 |
|
(geopandas等で自動インストール) |
地図投影法や座標変換(緯度経度⇔平面直角座標など)を行う。 |
解析環境・ツール
Pythonのコードを書いたり実行したりするためのツールです。
import時の名前 |
インストールコマンド |
説明 |
(コマンドとして使用) |
mamba install jupyterlab |
JupyterLab: ブラウザで対話的に解析できるノートブック環境。必須。 |
(gwpy等で自動インストール) |
HDF5形式のデータを読み書きする。大量のデータを保存する場合に使用。 |
|
mamba install tqdm |
for ループの進捗バーを表示する。長い解析のイライラ解消に。 |
インストールコマンドのまとめ
gwpy や obspy などの大型パッケージをインストールすると、依存関係にある基礎ライブラリ(numpy, scipy, matplotlib, astropy, pandasなど)は自動的にインストールされます。 そのため、以下のコマンドでは重複を省き、主要なパッケージのみを記述しています。
Step 1: Conda (Mamba) で入れるもの
mamba install -c conda-forge python=3.11 gwpy python-nds2-client jupyterlab lalsuite pycbc gwdetchar gwsumm pygwb pyomicron obspy geopandas natsort chardet bottleneck lmfit iminuit gwinc tqdm
Step 2: Pip で入れるもの (Condaインストール後に行う)
pip install dttxml
