computational-sediment-hyd.hatenablog.jp
の詳細編です.
jupyterはこちら
格子生成
- 原点の東経132.8143, 北緯35.4159,緯度から角度が26度
- x軸(ξ軸)が1000m,y軸(η軸)が90m
- メッシュサイズは5m
標高データの設定
- 前回作成した国土地理院基盤地図情報から標高データを取得するツールにより,格子に標高値を設定.
- さらに,周期境界で扱いやすくするため,平均河床勾配により正規化を行う.平均河床勾配は1/670.
出力
今回は,多次元データを取扱いのため,xarrayモジュールを使って,NetCDF形式で出力.
ds = xr.Dataset({'dz': (['x','y'], ZZZ)}, coords={'xc': (('x', 'y'), Qx), 'yc': (('x', 'y'), Qy)}) ds.to_netcdf('dz.nc')
ポイントと参考サイト
geoviewsによる描画
QuadMeshメソッドを使うことにより,曲線座標系の描画が非常に楽.
Resampling Grids — GeoViews 1.6.2.post2+g5918985-dirty documentation
xarrayによるデータセットの作成
- 今回は出力のみ使っているが,計算結果もxarrayによる出力している.多次元かつirregular gridsの扱いが容易.
- NetCDFのファイルに入出力が可能であり軽量
Plotting — xarray 0.11.3+1.ga5cacb7 documentation
Serialization and IO — xarray 0.11.3+1.ga5cacb7 documentation