Differences between revisions 2 and 16 (spanning 14 versions)
Revision 2 as of 2019-11-22 09:11:53
Size: 2545
Editor: taiki.tanaka
Comment:
Revision 16 as of 2019-12-12 14:22:32
Size: 5333
Editor: taiki.tanaka
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
kashiwa PCを使用してframe fileをみんなが快適に解析できるようにできるようにしたい kashiwa PCを使用してみんなが快適に解析できるようにできるようにしたい
Line 9: Line 9:

ちなみにframe fileのデータが欲しいだけなら、[[http://157.82.231.170/past_data_viewer/|Pastavi]]を使えば良い(宇宙線研のネットワークにつなぐ必要あり)
Line 11: Line 13:
田越、大原さんあたりの誰かに柏のkagra main systemの利用アカウントが欲しい旨を連絡する。

== startup ==
主にアカウント発行の際にメールでもらえるguideに沿って行えば良い

一応、[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=10076|JGW doc]]にも資料がある
Line 12: Line 21:
環境はほとんどできているはずなのでgwpyを使ってframe fileを読んでみる 環境はdefaultでほとんどできているはずなのでgwpyを使ってframe fileを読んでみる
Line 23: Line 32:

kashiwa PCにログイン
Line 26: Line 37:
などでkashiwa PCにログイン
仮想環境の構築(python3.7の部分は好みのversionで良い, 後ろの~/.vir~の部分も好きなpathに好きな名前で置いても良い)
仮想環境の構築(python3.7の部分は好みのversionで良い, 後ろの~/.virtualenvs/new_envの部分も好きなpathに好きな名前で置いても良い)
Line 29: Line 39:
virtualenv -p python3.7 ~/.virtualenvs/new_env virtualenv -p python3.6 ~/.virtualenvs/new_env
Line 35: Line 45:
今後、仮想環境を有効にする際は毎回これを打つ必要があり、面倒くさいので~/.bashrcに 今後、仮想環境を有効にする際は毎回これを打つ必要があり、面倒くさいので
Line 37: Line 47:
alias nenv=source ~/.virtualenvs/new_env/bin/activate echo "alias nenv='source ${HOME}/new_env/bin/activate' " >> ${HOME}/.bashrc
Line 39: Line 49:
と書けば、nenvと打つだけで仮想環境を有効にできる
もしくは、~/.bash_profileや~/.bashrcに
{{{
if [[ $- =~ i ]]; then
        source ~/.virtualenvs/new_env/bin/activate
fi
}}}
と書くと、ログイン時に毎回仮想環境が立ち上がってくれる
と打てば、nenvと打つだけで仮想環境を有効にできる
Line 49: Line 52:
pip install -U pip pip install -U pip setuptools wheel
Line 59: Line 62:
自身のpc上に作業用のディレクトリを適当に作る(mkdir以下は当然任意)
{{{
mkdir ~/work
}}}
作ったdirectoryにcodeを書く
{{{
emacs ~/work/test.py
.
.
.
}}}
以下のshell scriptを作業用のdirectiryにおく(公開鍵の設定などは済ましていることを前提としている)
{{{
exePath=$(pwd)/$2
exePath=~${exePath#*$(cd $(dirname $0); cd ../ ;pwd)}

ssh-add ~/.ssh/id_rsa
rsync -arp --inplace $(cd $(dirname $0); pwd) m31-01:~/
ssh -Y -t -t m31-01 <<EOC
source ~/.virtualenvs/new_env/bin/activate
$1 ${exePath}
exit
EOC
rsync -arp --inplace m31-01:~/$(basename $(cd $(dirname $0); pwd))/ $(cd $(dirname $0); pwd)
ssh-add -D ~/.ssh/id_rsa
}}}

Line 60: Line 91:
詰まった問題やこのページの通りやってもうまくいかないことを書き込む

== gwpyを最新のものにするとframe fileがtimeseries.readで読めなくなる ==
単一source fileなら読めるが複数source fileを読もうとするとerrorが出る
{{{
単一ファイル読み出し(ok)
data = TimeSeries.read(['/data/full/12567/K-K1_C-1256700000-32.gwf', '/data/full/12567/K-K1_C-1256700032-32.gwf', '/data/full/12567/K-K1_C-1256700064-32.gwf', '/data/full/12567/K-K1_C-1256700096-32.gwf'], c K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ, start = 1256700000, end = 1256700100, format='gwf.lalframe')

TimeSeries([ 2.24202135e-11, 2.24398064e-11, 2.24622275e-11,
            ..., -1.91058005e-11, -1.90862017e-11,
            -1.90661226e-11]
           unit: dimensionless,
           t0: 1256700000.0 s,
           dt: 6.103515625e-05 s,
           name: K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ,
           channel: K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ)

複数ファイル読み出し(ng)
data = TimeSeries.read(['/data/full/12567/K-K1_C-1256700000-32.gwf', '/data/full/12567/K-K1_C-1256700032-32.gwf', '/data/full/12567/K-K1_C-1256700064-32.gwf', '/data/full/12567/K-K1_C-1256700096-32.gwf'], c K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ, start = 1256700000, end = 1256700100, format='gwf.lalframe')

RuntimeError: Failed to read /data/full/12470/K-K1_C-1247030016-32.gwf: Internal function call failed: I/O error
}}}
gwpy0.15.0だとこのエラーは起こらず、1.0.0だと起こる
今のところ1.0.0でこの問題を解決する方法が分からないので、pipでのinstallの際は
{{{
pip install gwpy==0.15.0
}}}
とすることを勧める

柏PCの使い方

目的

kashiwa PCを使用してみんなが快適に解析できるようにできるようにしたい

あと環境構築などで詰まったことの備忘録

ちなみにframe fileのデータが欲しいだけなら、Pastaviを使えば良い(宇宙線研のネットワークにつなぐ必要あり)

セットアップ

アカウント申請

田越、大原さんあたりの誰かに柏のkagra main systemの利用アカウントが欲しい旨を連絡する。

startup

主にアカウント発行の際にメールでもらえるguideに沿って行えば良い

一応、JGW docにも資料がある

frame fileを読んでみる(python)

環境はdefaultでほとんどできているはずなのでgwpyを使ってframe fileを読んでみる Lecture in Japanese

frame fileを読んで様々なplotを書くためのsample codeやcondor_jobを使ってjobを投げるためのshellなどが豊富にある Kozapy

kashiwa PCのdefault環境では満足できない方へ

virtualenv

matplotlibが古すぎてplotがダサくなる方やgwpyのerrorが自身のPCと異なり困る方など向け

おそらくkashiwaでpython環境構築に使うのが推奨されているのがvirtualenvである

kashiwa PCにログイン

ssh m31-01

仮想環境の構築(python3.7の部分は好みのversionで良い, 後ろの~/.virtualenvs/new_envの部分も好きなpathに好きな名前で置いても良い)

virtualenv -p python3.6 ~/.virtualenvs/new_env 

仮想環境を有効にする

source ~/.virtualenvs/new_env/bin/activate

今後、仮想環境を有効にする際は毎回これを打つ必要があり、面倒くさいので

echo "alias nenv='source ${HOME}/new_env/bin/activate' " >> ${HOME}/.bashrc

と打てば、nenvと打つだけで仮想環境を有効にできる 次に仮想環境を有効にした状態でpipを用いてlibraryをinstallする

pip install -U pip setuptools wheel
pip install gwpy lalsuite

lalsuiteもinstallしないとframe fileが読めないので注意

gwpyをinstallする時に必要なものはほとんど一緒にinstallされると思うが、他に必要なlibraryがある場合は別途pip installを用いてinstallする

自身のPC上でprogram編集と結果閲覧を完結したい人向け

自身のpc上のeditorを愛している方や、ネットワークが弱くsshでm31-01にログインした状態で作業するのにストレスがある方向け

自身のpc上に作業用のディレクトリを適当に作る(mkdir以下は当然任意)

mkdir ~/work

作ったdirectoryにcodeを書く

emacs ~/work/test.py
.
.
.

以下のshell scriptを作業用のdirectiryにおく(公開鍵の設定などは済ましていることを前提としている)

exePath=$(pwd)/$2
exePath=~${exePath#*$(cd $(dirname $0); cd ../ ;pwd)}

ssh-add ~/.ssh/id_rsa
rsync  -arp --inplace  $(cd $(dirname $0); pwd) m31-01:~/
ssh -Y -t -t m31-01 <<EOC
source ~/.virtualenvs/new_env/bin/activate
$1 ${exePath}
exit
EOC
rsync -arp --inplace m31-01:~/$(basename $(cd $(dirname $0); pwd))/ $(cd $(dirname $0); pwd)
ssh-add -D ~/.ssh/id_rsa

詰まった問題

詰まった問題やこのページの通りやってもうまくいかないことを書き込む

gwpyを最新のものにするとframe fileがtimeseries.readで読めなくなる

単一source fileなら読めるが複数source fileを読もうとするとerrorが出る

単一ファイル読み出し(ok)
data = TimeSeries.read(['/data/full/12567/K-K1_C-1256700000-32.gwf', '/data/full/12567/K-K1_C-1256700032-32.gwf', '/data/full/12567/K-K1_C-1256700064-32.gwf', '/data/full/12567/K-K1_C-1256700096-32.gwf'], c K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ, start =  1256700000, end = 1256700100, format='gwf.lalframe')

TimeSeries([ 2.24202135e-11,  2.24398064e-11,  2.24622275e-11,
            ..., -1.91058005e-11, -1.90862017e-11,
            -1.90661226e-11]
           unit: dimensionless,
           t0: 1256700000.0 s,
           dt: 6.103515625e-05 s,
           name: K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ,
           channel: K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ)

複数ファイル読み出し(ng)
data = TimeSeries.read(['/data/full/12567/K-K1_C-1256700000-32.gwf', '/data/full/12567/K-K1_C-1256700032-32.gwf', '/data/full/12567/K-K1_C-1256700064-32.gwf', '/data/full/12567/K-K1_C-1256700096-32.gwf'], c K1:CAL-CS_PROC_C00_STRAIN_DBL_DQ, start =  1256700000, end = 1256700100, format='gwf.lalframe')

RuntimeError: Failed to read /data/full/12470/K-K1_C-1247030016-32.gwf: Internal function call failed: I/O error

gwpy0.15.0だとこのエラーは起こらず、1.0.0だと起こる 今のところ1.0.0でこの問題を解決する方法が分からないので、pipでのinstallの際は

pip install gwpy==0.15.0

とすることを勧める

KAGRA/Subgroups/PEM/UseKashiwaPC (last edited 2023-01-12 11:07:29 by tatsuki.washimi)