2017/08/12

JAGURS on Mac

JAGURS(高性能津波計算コード)の作者の馬場さんから,Macで動いたなら手順を公開して欲しいという依頼がありましたので,まとめておきます.
(シリアル版かつ手抜きなので順次更新します)
(追記:シリアル版といいつつ,OpenMPは有効に出来るようでした.というわけで,MacOSな1台のマシンでやるにはOpenMPで十分.)

【試した環境】

【依存ライブラリ】
NetCDF,PROJ4,FFTW3が必要ということなので,MacPorts でお手軽に入れました.なので,インストール先は全て /opt/local になりますので,それに合わせてMakefileを修正して下さい.NetCDFはFortranから使えるようにするため,netcdf-fortranパッケージもインストールして下さい.かつ,FFTW3もFortranから使えるようにするため,gfortran variant などを付けておいて下さい.
(というのを考えるのが面倒なので,コンパイルする手順も別途作成します)
  • NetCDF
    •   netcdf @4.4.1.1_0+dap+netcdf4 (active)
    •   netcdf-fortran @4.4.4_0+gcc6 (active)
  • PROJ4
    • proj @4.9.3_0 (active)
  • FFTW3
    • fftw-3 @3.3.5_0+gfortran (active)

あと,少なくとも私の環境では, -lsz (szip) が無いと言われたので,
  % port install szip
しました.

【コンパイル】
まずは,シリアル版.Makefile.SC_ICEをベースにするようにマニュアルに書いてあるけど,Makefileと同じ内容なので,Makefileでスタートする.

【罠】
フォートランのプログラムファイルが .f90 で提供されています.一方,gnu系(?)のコンパイラでは,.f90の場合,preprocessorが動いてくれません!

#ifdef MULTI
  1
Warning: Illegal preprocessor directive

とか言われます.これは, .F90 にすることで解決するそうです.まさか...
というわけで,ファイル名を .F90 にしてあげて(厳密には,preprocessorを使うソースだけで良いですが面倒なので全部),Makefileの %.o: %.f90 を  %.o: %.F90 にします.
(gfortran に -cpp オプションを渡してあげれば良いだけでした)

【Makefile修正箇所】

  • gfortran で .F90 なファイル(.f90と区別される)にpreprocessorを適用するには, -cpp オプションを指定する.
  • gfortran で OpenMP を使うには, -fopenmp オプションを指定する.

FC=/usr/local/bin/gfortran
PROJ4_DIR=/opt/local
CC=/usr/local/bin/gcc
CFLAGS=-g -I${PROJ4_DIR}/include
BASE=-cpp
FFTW3_INCLUDE_DIR=/opt/local/include
FFTW3_LIB=-lfftw3
OPT=-O2 -fopenmp
NETCDF=/opt/local
LIBS=-L$(NETCDF)/lib -lnetcdff -lnetcdf -L/opt/local/lib -lhdf5_hl -lhdf5 -lcurl -lsz -lproj $(FFTW3_LIB)
# MPI=ON

修正済Makefileはここに置いておきます



2017/08/05

「君の名は。」の月

「君の名は。」DVDも発売されましたね♪
書こう書こうと思っていたネタ帳がどこかに紛失してしまったので書き直し.

まず,なんか,もう気に入りすぎちゃって,片手じゃ足りないくらい見ちゃってました.両手では足りる回数でしたが・・・.

んで,何を書こうと思ったかというと,月.
深海監督は,リアルな描写を旨とされているということなんだけど,天文屋からするとちょっとねぇ〜というところがちらほら.
あの描写(進行方向)がされている彗星が地球に落下することは無いんですよね.基本,自分のところに落ちてくる流星(隕石)は,静止流星として見えてないとね...まぁ,これはマニアックな話.
惜しいのは,月齢.3年間時間がずれていて日付が同じ.その日に月の形が同じになるかは月齢が同じかどうかということになる.これは,ちょっと気合いを入れて調べると分かる.例えば,ここで月齢の計算が出来る.ただ,まぁ,ちょっと気合がいると思います.このこよみのページによると,2013年10月で新月だったのは5日.そうすると,三日月(に見える)の日は,10月8日〜10日位なんですね.

んだども,ど〜〜しても,見た瞬間に気になっちゃったのは(そして,何度も確認したのは),2台のクレーン車の上に居た半月.こちらのサイトのように,意味深な解釈もありそうなのですが,自分としては,気になってしょうがないのはこの半月.こればっかりは,何の調べも必要なく,あり得ない.と分かってしまう.何かというと,,,月が光っている向き(半分)が逆.もしくは,昼夜が逆.なんでかって言うと,半月ということは,月と地球と太陽が90度の角度を成しているわけで,もうちょっとわかり易い表現に変えると,光っている側の90度向こう側に太陽が居ることを意味してます.月は太陽に照らされているので当然ですね.
そうすると,何がおかしいかというと,半月で「上」側が光っている場合,太陽は月の上側に居るわけなので,昼間じゃなきゃおかしいのです.か,「下」半分が光ってて,夜.別にそんな話はどうでもいいって?ま,良いです.でも,これは「ウソ」って分かる描写なら別に気にもならないのですが,リアルっぽくあり得ないから気になっちゃいました.虫が食ったような三日月モドキとかはあり得ないって分かるし.

更なる蛇足ですが,1200年周期で彗星が戻ってくることはあるわけですが,,,,同じ場所に落ちるってのはなぁ...でも,「あり得ない」と断言できるものではない.

でも,面白くて何度も観たし,DVDも買いましたで!

(追記)
彗星の分裂というのは,木星に衝突したシューメーカーレビー第9彗星(SL9)に限らず,頻繁に発生している現象です.私の最初の研究はSL9の木星衝突時の近赤外(OASIS)観測記録の解析.卒論は,百武彗星の分裂片の運動解析でした.どっちもちゃんと論文化していないのは,,,反省.

2017/03/30

Adobe Acrobat Pro DC for Mac

Adobe Acrobat Proが古い(IX)ままだったので,DCを買ったのだが,パッケージ署名の証明書が怪しいと・・・



開いてみたところ,有効期限切れでした.今が3月30日.証明書は2月22日まで.惜しいなぁ...在庫で眠ってる間に期限が切れたかな.


ダウンロードパッケージなら証明書の更新も出来るでしょうけど,CDに焼いたパッケージと成ると,再作成になるからなんとも難しいですね.

2017/03/28

iPad mini 4

iPad mini 4 なるものが送られてきた.

普通にセットアップを進めていたら,なんと,指紋認証(Touch ID)ですか.面白そうだったので設定してみたが,かなぁ〜りしつこく読み取りをさせられた.とりあえず1回目の認証は成功.今後どうなるかな.

手元にあるのは,MD533J/A (初代 iPad mini)だから一気に進化だ.自分で買ったものじゃないので,容量は半減だけど...

使いまわせると思った風呂蓋がどうにもくっつきが悪いな・・・スタンドにならないし.

2017/03/24

4k モニタ

値段がほとんど変わらなかったので,4kモニタを買ってみた.要件としては,27インチワイドサイズであること.悲しいかな,AppleのThunderbolt displayがいつの間にか製造中止になっちゃってたので,代替品を探してたら,DellのP2715Qがヒットしました(リンクは3/24現在無効になってる...).
問題はHDMIが1つとThunderbolt2しかないMacProとどうやって接続するか.と思ってたのですが,何の事はない,Thunderbolt2 と mini Display port って形状が同じで互換性があるのですね.DP-MiniDPが付属してくるので,MiniDPをThunderbolt2の口に繋げば良いだけでした.

にしても,4kだと文字が小さい・・・
これで文字を大きくしてたら意味がないとかなんとかそんな議論もあるみたいですが,どう使えるかな.