みそっこ日記

みそっこ研究者の雑感

いらねっちけー

2015-04-28 01:04:07 | Weblog
いやぁ、いろいろ考えつく人がいるんだね。ちょっと笑えた。
http://niconicogakkai.tumblr.com/post/114770634996/no-13

実は大学の部活の先輩だったりする。

再投稿

2015-04-18 22:33:54 | Weblog
いったんreject and resubmitになっていた件の論文を再投稿した。うまくいくとよいな。結局力源を三軸楕円体に変更したのと、傾斜計のデータを入れたところが大きな変更点。reviewerの注文に対してはほぼ満額回答したはず。ただ、一人「そもそもおれにはそんなシグナル見えない」と言い放ったやつがいるので、そいつがごねたら揉めるかも。ちょっとゆらぎが乗っているだけなのにねぇ。kinematic GPSの精度からしたら、素晴らしくあっているというレベルなんだけどなぁ。

地惑連合

2015-04-08 22:10:35 | Weblog
参加登録。

今年から、AGUの会員であれば、会員登録をしなくても割引料金が適用されることになったそうな。実際試してみたが、うまくいった。よしよし。

地惑連合には申し訳ない気もするが、うち、2000円自腹なんだよね。。。

Lee Kuan yew

2015-03-24 01:15:54 | Weblog
Lee Kuan yew氏の訃報を聞く。合掌。

シンガポール建国の父。たしか来日した時、日本の街並みの美しさに感動して、「ポイ捨て罰金」法を制定したとか。ちょっと間違えれば強権政治だが、この行動力がシンガポールを導いたのは間違いない。

ちなみに私が住んでいた30年くらい前のこと、件の罰金にある項目が付け加えられた。それは何でしょう。実は「地下鉄にドリアンを持ち込むと$5000の罰金」。初めて発見した時に皆で大笑いしたことを、ふと思いだした。

地形補正

2015-02-25 23:46:47 | Weblog
火山など、地形の起伏がある場所での地殻変動モデリングにおいては、地形の影響が無視できない。有限要素法などの数値モデリングツールでは地形を入れるのは簡単だが、解析的なモデリングの場合、だいたい平面的な地球を仮定しているので、どうにかして地形の影響を取りこむ必要がある。

簡便な方法としては、Reference Elevation法(一番よく合うように、計算面の標高を決める)やVariable Depth法(観測点毎に、ソースの深さを変える)があるが、いろいろ問題を抱えており(Williams and Wadge, 1998)、摂動近似(Williams and Wadge, 2000)のほうがよりよいようだ(ただし急峻な地形には適用できない)。

Williams and Wadge (2000)のAppendix Bはftpでダウンロードできると書いてあるが、現在ftpサイトはなくなっているようだ。AGUの担当者にメールをすると送ってくれる。著者のWilliamsさん(現在GNS Science, New Zealand)にコンタクトすると、地形補正のプログラム(Fortran 77)を送ってくれた。多謝。これ、あらかじめいろいろな力源のルーチンが入っていてとっても便利(点楕円体も入っている!)。自分で力源を追加するのも比較的簡単。

もう15年前の論文だし、やっぱりこのレベルの近似はできるようになっておかないとなぁ。

oblate spheroid

2015-02-13 22:21:16 | Weblog
dMODELSの中に入っているプログラムでは、どうやらprolate spheroidしか取り扱えないので、同じくUSGSのCervelli氏が、oblate spheroidにも使えるよう拡張したプログラムを使うことに。ま、もともとのプログラムの変数を実数から複素数に拡張するだけでよいのだけど。

そのプログラムをPythonから呼び出してフォワード計算できるようにしたうえで、Scipy.Optimizeのdifferential evolutionでインバージョンするようにした。変位のパターンから期待していた解がずばりでてきてにんまり。いやぁ、長い道のりだったなぁ。

ついでなので、emceeを使ってMCMCでPDFの評価をできるようにしておいた。インバージョンも、MCMCも、既存のルーチンが素晴らしく使いやすい。パイソン万歳である。

F2PY/ALLOCATABLE ARRAY

2015-01-30 23:31:51 | Weblog
備忘録をかねたメモ。MatlabスクリプトをFortranで書き換える作業の続き。最終的にpythonから呼び出して、フォワード計算とか、インバージョンをやろうと思っているので、F2PYでうまく呼び出せるようにしておく必要がある。

最近のFortranでは形状引き継ぎ配列を使うのが主流っぽい。つまり
subroutine hoge(a)
real(dp) :: a(:)
とか書いておいて、
メインでおもむろに
real(dp),allocatable :: b
allocate(b(100))
call hoge(b)
とかやるわけだ。

ただ、このときメインプログラムでinterface文を使ってサブルーチンの引数を指定しておかないとうまく動かない。

interface
subroutine hoge(a)
real(dp) :: a(:)
end subroutine
end interface

pythonから呼び出す場合、interface文なんて使えないからどうするのかなぁ。ちょっと調べたけどよくわからなかった。

ま、昔ながらの形状指定配列を使って
subroutine hoge(a,n)
real(dp),dimension(n) :: a
とかすればできるので、実害はないのだが。。。

MATLAB->FORTRAN

2015-01-24 05:01:36 | Weblog
件の論文のモデルを修正するため、まず、楕円柱の圧力源でどうなるか試してみること。

火山地殻変動のモデリングツールとして、USGSからdMODELSという便利なツールが公開されていて、楕円柱の圧力源も取り扱えるので、ありがたく使わせてもらうことにした。
http://pubs.usgs.gov/tm/13/b1/

ただ、これがMATLABで書かれていて不便なので、とりあえずFORTRANに書き直すことに。

はまったこと:
○MATLABでは変数名の大文字と小文字が区別されている
○MATLABのドット演算子は、配列要素に対する演算。FORTRANでは、通常の演算子が同等の機能を持っている

とりあえず大体動くようになったので、いろいろ試してみる予定。標高も入れないといけないし、場合によっては複合モデルも試してみないといけないかも。

リジェクト

2015-01-14 04:54:24 | Weblog
がっかり。

ま、救いは、いわゆるひとつの"reject and resubmit"というやつであることで、Editorは結構好意的で、リジェクトしたのはreviseに十分な時間を与えるためで(出したのがSpecial Issueだということもある)、直せばよい論文になるはずだから時間をかけてちゃんと直して再投稿しろ、と言っているので、一度は再投稿するのが吉かな。

それにしても、モデルの評判が悪い。どうするにせよなんとかせねば。

仕事はじめ

2015-01-06 01:15:08 | Weblog
なかなか計算がすすまなくて、気もそぞろな仕事はじめ。

ずっと前からGNSS解析において、Kinematicで解いてから日平均を取るのと、Staticで解くのとでどんな違いがあるのか気になっていたので(←ちなみにMatt Kingかだれかがすでに書いている)、とりあえず試しに見てみようとしてどつぼにはまる。昔からの習慣で一日毎の座標ファイルをcompressで固めていたのだが、どうもpythonでcompressされたファイルを読み込むよいライブラリはないっぽい。うーむ。compressなんて効率悪くて使うもんじゃない、というのはもちろん知っていたのだが、なんとなく学生時代からの習慣でだらだらと。

スクリプトを修正するよりフォーマットをそもそも変えておいたほうがあとあとよいだろう、ということで、現在フォーマットを変換中。ファイル数がおおいので、結構時間がかかるかも。ま、新年を迎えたことだし、昔からの悪習も一掃する、ということで。