投稿

4月, 2008の投稿を表示しています

MacPortsとlaunchd

Mac OS Xのデーモン管理は、10.4からlaunchdが導入された。10.5からはStartupItemsが廃止されて、launchdだけとなった。ユーザレベルでも使える反面、XML形式のplistを作成する必要があり面倒になった面もある。

MacPortsでは、パッケージ作成者にもユーザにも使いやすい仕組みが提供されている。詳細はMacPorts Guide参照。

パッケージ作成者は、startupitem.*に起動スクリプトやログの保存場所等の情報を属性として記述すれば、/opt/local/etc/LaunchDaemonsにplistが作成され、/Library/LaunchDaemonsにシンボリックリンクが張られる。既定では、デーモンは「起動しない」というラベルがついている。

ユーザは、
sudo launchctl load -w /Library/LaunchDaemons/org.macports.パッケージ名.plist
を実行すればデーモンを起動できる。再び起動しないようにするには、サブコマンドloadの代わりにunloadを使う。

g95-0.91でfgsl

Andyに頼んでいたg95-0.91(安定版)が2008/3/26に公開されていたことに今頃になって気づいた。今後は0.92,...,1.0とより頻繁に更新するつもりだとある。MacPortsg95パッケージは、2008/4/22に更新した。

g95-0.91では、Fortran 2003のCとの連携機能が改善されている。この改善により、GNU Scientific Library (GSL) のFortranインターフェースfgslがコンパイルできるようになった。fgslのパッケージも作った。スナップショットでは可能だったのだが、MacPortsのパッケージには安定版が必要なので、0.91の公開を待っていた。これで多数の函数をfortranから使えるようになった。

g95を応援する立場としては、fgslをgfortranで使えるようにする義理はないのだが、いじわるはしたくないので、gcc43に対応させた。マニュアルにはg95が登場するのだが、gfortran-mp-4.3に置き換えた。親切が過ぎたかもしれない。

スペクトル微係数を用いた双3次空間内挿法

イメージ
多くの数値予報モデルや気候モデルには,時間刻み幅を大きくし,移流を正確に計算するために,セミ・ラグランジュ法が用いられています.オイラー移流と比較して,分散性が少ないが消散があります.空間スケールの小さな構造が減衰して,大気の観測されるスペクトルの表現が困難です.

スペクトルモデルでは,微分が正確に計算できます.このようにして求めた微分係数を双3次内挿法に適用したところ,従来のモデルで用いられてきた双3次ラグランジュ内挿法よりも消散を小さくすることができました.

図は,ガウス型の山を赤道から北極を通りまた赤道に戻るように剛体回転流で20日間で1周させた結果です.黒は初期値, 青はオイラー移流, 赤は双3次ラグランジュ内挿法を用いたセミ・ラグランジュ移流,紫は今回考案した方法です.

この研究について,2008年5月19日 (月),日本気象学会春季大会ポスター発表 (P225) [PDF]しました.