2019/10/23

Dropboxに写真を同期

iPad(昔はiPhone)で撮った写真と動画の管理って,Macだと意外(?)と面倒なようで,Macに接続してもストレージとしてマウントしてくれないので,何かのツールにお任せする必要があるようです(ホントか?).

最終的に,Dropboxに行き着いていたのだけど,どうも最近,iOS (iPadOS) のWi-Fiで同期済のものが,USBで有線接続したら重複してDropboxに入るようになってしまった.同期済みのものが「カメラアップロード」フォルダに残っていれば, -1.jpg のようなファイル名になって同定が用意なんだけど,既にrenameしていたり,移動していると何のことか良く分からない...

というわけで,Mac側の設定をOFFにしました.設定→インポートの「デバイス」から対象の端末を削除すれば良いようです.

2019/10/07

stdio.h が無いって・・・

久しぶりにコンパイルしようと思う度にひっかかるので自分でも書いておく.

/usr/local/lib/gcc/x86_64-apple-darwin17.5.0/8.1.0/include-fixed/stdio.h:78:10: 致命的エラー: _stdio.h: No such file or directory
 #include <_stdio.h>

よっぽど何かが壊れないとならなさそうな状況にOSをupdateするとなってしまう.まぁ,ともかく,
% open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
で良いそうだ.

Missing /usr/include w/ Xcode 10
macOS Mojave にアップデートしたら stdio.h がないって言われた

2019/06/12

遠地の波形

Baba et al. (2016) で提案されているSD+EL+GPの計算はJAGURSで出来ますが,EL (Elastic Loading) を有効にするため,
with_elastic_loading=1
として,パッケージとして配布されている
m_pyfile='PREM_Ggz.nc'
を使うと,GPも含んでいるため,漏れなく gravitational potential change も付いてきます.マニュアルには書かれていませんが,パッケージに入っている PREM_Gz.nc を使うと,ELのみが適用されるようです(確認中).

海⽔密度効果は,独立に
with_density=1
を設定することで有効に出来ます.

If you specify
with_elastic_loading=1
option to apply elastic loading in your simulation using PREM_Ggz.nc file which is included in JAGURS package, the gravitational potential change is also adopted. Because PREM_Ggz.nc contains not only elastic loading but also gravitational potential change. If you omit GP, PREM_Gz.nc should be set as m_pyfile parameter. 

Error発生:
netcdf err=-51 in file=PREM_Ggz.nc
これは, https://www.unidata.ucar.edu/software/netcdf/docs/nc-error-codes.html によると,"Not a netcdf file".

どうやら,ライブラリ関係が古かったためだったよう.ただし,詳細は詰めていない.
動いてた環境(MacPorts):
  hdf5 @1.10.5_0+cxx+hl (active)
  netcdf @4.6.3_0+dap+netcdf4 (active)
  netcdf-fortran @4.4.5_5+gcc7 (active)

駄目だった環境(Source build @linux):
  hdf5-1.8.19
  netcdf-4.4.1.1
  netcdf-fortran-4.4.4

駄目だった環境(linux)で,hdf5-1.10.5, netcdf-c-4.6.3, netcdf-fortran-4.4.5 を使ったところ,問題なくELが計算できた.

If you have an error of "netcdf err=-51 in file=PREM_Ggz.nc", please update hdf5 and netcdf libraries. I'm not sure the real reason, but I succeeded to execute JAGURS with hdf5-1.10.5, netcdf-c-4.6.3 and netcdf-fortran-4.4.5 instead of hdf5-1.8.19, netcdf-4.4.1.1 and netcdf-fortran-4.4.4.

2019/05/24

JAGURSのNCDIO

スパコンじゃないにしても,大量に計算をする場合に出力ファイル数というのは意外と気をつけなければいけません.JAGURSでは,NCDIOオプションを付けてコンパイルすることで,初期⽔位,⽔位変動,最⼤波⾼,最⼩波⾼,到着時刻分布をドメイン毎に1つのファイルにまとめてくれる機能があります.

※ 利用しての気付きとして,計算をやり直す時などに既にSD01.ncファイルが存在しているときちんと計算結果が出力されないという制限があります.計算をやり直す前に出力ファイルを一旦消してから実行する必要があるようです.

Makefileに
OUTPUT=NCDIO
を指定するか,
make -e OUTPUT=NCDIO
などのようにコマンドライン引数で指定します.

まとまったファイルに何が入っているかは,NetCDFパッケージに含まれている以下のコマンドで確認することが出来ます.
ncdump -h SD01.nc

そして,例えば,最大波高(max_height)を抽出するには,GMTのgrdreformat が使えます.
grdreformat SD01.nc\?max_height SD01.zmax.grd

もちろん,QGIS等のGISソフトに対しては,SD01.nc をそのまま入力することが出来ます.

2018/11/09

JAGURSのNaN

JAGURSの計算結果には陸域(水が届かなかったメッシュ)のデータは含まれません.一方で,出力は2次元のメッシュデータなので何かの値が入っています.どうやら,それが -10000000000 のようです.これを無視してしまうと(というか,autoscaleで描画すると)以下のようになってしまいます.
これは,海に値が入っていないわけでも,陸が黒いわけでもなくて,データなしの -10000000000 が負に大きすぎて黒くなっているに過ぎません.なので,陸域の点を使って透明にしてあげて,色をつけてあげます.
右の2番めのアイコンを使うと,画像の点を指定して透明にする値を入力できます.
これをApplyすると,背景の地図が見えるようになります.
背景(地形図)が見えるようになりましたが,レンジが適切ではないので波が表示されないので,調整します.

これで見た目も良くなりました.