2010年1月21日木曜日

OFESデータの切り出し

ウナギ(Anguilla japonica)とヨーロッパウナギ(A. anguilla)の仔魚を対象とした粒子追跡.


既にストーリーは出来ていたんだけど,
せっかくOFESデータに水温があるので,粒子の経験水温も見たい!
ってことで,部門会議後は経験水温も出力できるようにプログラムをいじる.


で,できるようになった.


あとはシミュレーションさせるだけ...
なのだが,むちゃくちゃ時間がかかる.


ウナギの場合,
17緯度×7経度×3年×3ヶ月=1071シミュレーション行う.
1シミュレーションが約10分かかるので,
トータル10710分=7.4日
つまり一週間.


ヨーロッパウナギの場合,
9緯度×25経度×3年×3ヶ月=2025シミュレーション
1シミュレーションが約15分かかるので,
トータル21.1日=約3週間


たしかに前やった時もかなり時間かかったな~.
大西洋のほうは正月休み返上でiMacに働いてもらった.


で,そんなに待てるか!!ってことで,
どうにか時間を短縮できないか.....


条件を減らしたくはないので,1シミュレーションにかかる時間を短くするしかない.
そのためには読み込むOFESデータの1ファイル容量を小さくするしかない.
そうか,粒子追跡で使う領域だけ切り出せば,
シミュレーションの際,読み込みにかかる時間を大幅に短縮できる!
ということに今更ながら気がついた!!


北太平洋のOFESデータは,
東経110度~西経80度,南緯10度~北緯70度の範囲を
0.1度格子で
水温,塩分,流速(u,v,w)データが入っている.
鉛直的には54層.


ウナギのシミュレーションに使う範囲は,バッファーを考えても,
東経110度~日付変更線,南緯10度~北緯70度の範囲.
鉛直的にも26層目(約300m)まであれば十分.(図のピンクの部分)



ようは図のピンクの部分だけが必要なのに,今まで無駄にデータを読み込んでいた訳www


同じ要領で北大西洋のOFESデータも26層目まで切り出す.


試しにプログラムを回してみると,
ウナギ:1シミュレーション4分
ヨーロッパウナギ:1シミュレーション10分


おおお~.
これで
ウナギ:約3日
ヨーロッパウナギ:約14日
(7.4+21.1)-(3+14)=11.5日も短縮!!


切り出し作業に丸1日かかったけど,十分にもとが取れました~♪
もっと早く着手していればよかった....

2 件のコメント:

  1. 最近復活したM12010年1月22日 0:23

    >粒子追跡で使う領域だけを切り出す

    失礼ながら、今更すぎるww
    ・・・とかプログラムほとんど読めないM1が言ってみる。
    でもこういうのってやってる本人は気づかないことが多いんですよね・・・・(;´Д`)
    私も変更したテーマに本格的にとりかかり始めたらそっちの研究室に通ったりして!
    ほんとに自分でできるようになるのか・・・・

    とりあえず部門会議は叩かれ覚悟で前に立つ数分を乗り切りますw
    穴しかない計画なんであんまり突っ込まないでくださいね・・・(もうやらないし、とか逃げ

    ではでは!また騒ぎましょうっっ!!!

    返信削除
  2. 最近復活したM1さん,コメントありがとう!

    北大K研の人はみんなずばずば言いたいこといいますね〜 笑
    まあ,今更過ぎなんですが,
    これまではシミュレーション数が少なかったからあんまり気にしてなかった...
    でも数千回になるとね....
    迫られないと考えない癖を直さないといけませんな〜.


    少し落ち着いたら,また研究の話もしよう.
    また飲みも企画するな!あなたはまだ飲めないかもしれないけど 笑

    返信削除