趣味で計算流砂水理

趣味で計算流砂水理 Computational Sediment Hydraulics for Fun Learning

数値計算とか河川工学とかプログラミングのことを書いています

MENU

備忘録:np.datetime64のタイムゾーンの変更:UTCからJST

R

pythonのdatetimeオブジェクトには、aware:タイムゾーンあり、native:タイムゾーンなしの概念があります。 参考サイト:datetime の UTC / JSTの変換についてまとめ | Python Snippets 一方、np.datetime64にはタイムゾーンがありません。 np.datetime64の…

備忘録:"24:00"を含む謎の時系列データをpandasで読み込む

R

以下のcsvファイル内の"2010/01/01 24:00"のような"24:00"を含む謎のデータ(役所系に多い)をpandasで読み込む場合、通常のparse_datesオプションではdatetime型に変換できません。 tmp.csv 2010/01/01 20:00,1.42 2010/01/01 21:00,1.42 2010/01/01 22:00,…

scipy.signal.find_peaksで流量時系列から代表出水を簡単に抽出する

R

流量時系列から代表出水を抽出する作業は一見簡単そうですが、プログラミングする場合は微分等が必要となり、結構手間がかかります。 そのため、scipy.signal.find_peaks — SciPy v1.9.3 Manualライブラリを使って簡単にやってみます。 対象データはとあるダ…

備忘録:PDFフォントの埋め込めエラーの対策

R

学会あるあるですが、PDFのフォント埋め込みエラーの対策です。 TeXで作成したPDFはAcrobatを使ってエラーを修正することが最も簡単な方法だと思います。 Acrobat Proを使ってエラー箇所を確認 ツールの「印刷工程」→「プリフライト」→「PDF解析」→「潜在的…

古典的な格子生成方法:理論と実装

R

この記事のポイント ラプラス方程式を解くことによって滑らかな格子を生成することができます。 座標変換のラプラス方程式を導出しています。 pythonによる数値計算プログラムを載せています。 はじめに 計算式の整理 座標変換の準備 ラプラス方程式による座…

備忘録:gfortranのインストール方法(windows10):2022/06時点

R

tdm-gccからダウンロードしてインストールする方法が最も楽です。 デフォルトではfortranはインストールされないので、下図のとおりチェックを入れる。 参考サイト http://www.compe.media.kyoto-u.ac.jp/syoseki/windows/TDM_GCC-install.html コマンドプロ…

ポリラインのスムージング方法:Smoothing methods for a polyline object

R

この記事のポイント ポリラインのスムージング方法として、3次Bスプライン、Rbf、区分的3次エルミート内挿(pchip)、ベジェ内挿、Chaikin's algorithmsの5手法の比較を行いました。 滑らかさの点でみるとchaikinが良さそうです。 元の点を通る必要がある場合…

備忘録:WSL2のSymantec Endpoint Protection問題についての暫定的な対策

R

休みだったのでWindowsの大型アップデートを行ったところ、例のごとくWSLの環境が壊れました。毎回WSLだけ壊れるのが不思議です。 環境の再設定を行う際にSymantecの問題(WSL2で外部ネットワークにつながらない理由がSymantec Endpoint Protectionだった話 -…

備忘録:混合粒径上の浮遊砂の遮蔽効果について

R

基本的な考え方 浮遊砂のため基本的には遮蔽の影響は考慮しなくても良いです。 一方で、既往研究によると、浮遊砂粒径より十分に大きい礫が存在する場合には、遮蔽の影響を受けることが知られています。 遮蔽効果に関する基本的な考え方は京大藤田先生の研究…

備忘録:csvファイルの文字コードを一括で変更(UTF-8→ShiftJIS)するスクリプト

R

WSL2上のUbuntu18.04で、フォルダ内の全てのcsvファイルの文字コードをUTF-8→ShiftJISに変更する 場合は、nkfを使う以下の方法が一番楽かも。 #!/bin/sh files="*.csv" for filepath in ${files} do echo $filepath nkf -s --overwrite $filepath #変更して…

河床波と流水抵抗の話

R

水理計算では粗度係数の設定に悩むことが多くあります。 特に非定常計算での設定は難しいです。 実際の計算でも、ピークは観測値と合うがそれ以外では差が生じることがしばしばみられます。 その問題のヒントとなるような既往研究を整理しました。 この記事…

雑談:沈降速度式の比較

R

特に意味はないですが、Rubeyの式とVan Rijnの式を比較してみました。 import numpy as np import holoviews as hv hv.extension('bokeh', logo=False) Settling velocity Equation Rubey https://www.ajsonline.org/content/s5-25/148/325 def rubeyw0(dd, …

備忘録:holoviews,hvplotのcolorbarを調整方法まとめ

R

holoviews,hvplotのcolorbarの設定が厄介なのでまとめておきます。 computational-sediment-hyd.hatenablog.jp 基本のグラフ import pandas as pd import numpy as np import hvplot.pandas import holoviews as hv hv.extension('bokeh') hv.__version__, h…

備忘録:holoviewsの文字サイズを調整する

R

このブログでは同じにおなじみのHoloviewsですが、紙ベース(PDF、ppt等)でみたときに相対的にフォントサイズが小さく感じます。 computational-sediment-hyd.hatenablog.jp こんな感じです。 そもそもwebベースなので紙ベースで使うことはほぼ無いですが、…

実河川の一次元計算:結局どれがいいの?

R

今年もよろしくお願いします。 長年の課題で今年こそ解決したい問題について書きます。 この記事のポイント 河川流一次元計算は独特の難しさがある 数値解法によって水位に大差が生じる モチベーション 実河川の一次元計算の独特の難しさ 横断面形状の取り扱…

NaysMiniを使ってみたらサクッと回ったけど遅かったのでnumbaで爆速化した

R

この記事のポイント NaysMiniはpythonでサクッと回せる 計算部分はnumbaで爆速化(約70倍) コードの計算部分と図化部分は分けたほうが良い 図化ライブラリはHolovizがおすすめ モチベーション 改良の前に。。。 廃止予定のyaml.loadの修正 matplotlibのメモ…

土砂水理についての雑談7:これからの川のあり方-管理から共存、共生へ

R

頭の中の整理です。 これからの川のあり方-管理から共存、共生へ これまでの河道改修は正しかったのか:信濃川大河津分水路を例に これまでの河道改修は正しかったのかについて、信濃川大河津分水路を例に考える。 信濃川大河津分水路は信濃平野の治水のため…

土砂水理についての雑談6:流砂、河床変動に関する問題

R

頭の中の整理です。 流砂、河床変動に関する問題 ダム堆砂 ダムは 100 年分の堆砂を見込んでつくられている。= 100年後には洪水を貯めることできなくなる。 ダムの長寿命化のため、堆砂土の除去が必要である。 ダム工学会:「ダム堆砂の有効活用に関する事例…

土砂水理についての雑談5:流路の変化

R

頭の中の整理です。 流路の変化 川の流路は、「蛇行」と「網状」に分類される。 https://www.coolgeography.co.uk/A-level/AQA/Year%2012/Rivers_Floods/Landforms/Landforms.htm 流路の変化:水路実験 蛇行流路の形成、変化 ⇒ 流路の生成、消失を繰り返す。…

土砂水理についての雑談4:川底の土砂の大きさ

R

頭の中の整理です。 川底の土砂の大きさ 土砂の大きさの変化 上流から流れてきた様々な大きさの土砂は河床勾配に応じて堆積していく。 河床勾配の急な上流域では粗い粒径が堆積し、河床勾配の緩い下流域で細かい土砂が堆積する。 このように川の流れによって…

土砂水理についての雑談3:砂州

R

頭の中の整理です。 砂州 砂州の形状 交互砂州(単列砂州) 左右交互に周期的に形成される砂州を示す。 その形状がゆっくりと下流方向に伝播する。(※前出のとおり、砂州上の土砂は洪水時には動いているが砂州の形状はほとんど変わらない。) 日本のほとんどの…

土砂水理についての雑談2:洪水中の川底の様子

R

頭の整理です。 洪水中の川底の様子 河床波の存在 洪水規模が大きくなると川底に「河床波」と呼ばれる波型の地形が形成される。 海岸や砂漠でみられるものと同じ。 実験水路だとわかりにくいが三次元的な形状を示す。 Bedform progression video SMALL www.y…

備忘録:hvplot.pandasでcolorやline_dashを調整する

R

hvplot.pandasは、グラフを描くときに非常に楽ですが、色とか線種の微調整がやりにくいです。 基本的なやりかたをまとめておきます。 サンプルデータ import pandas as pd import numpy as np import hvplot.pandas A = np.array([ np.random.rand(10) ,2.0*…

備忘録:hvplotでlegendのtitleを変える

R

いつもわからなくなるのでメモです。 hvplotでpandas Dataframeからグラフを書くと df.hvplot() こんな感じに凡例のタイトルがVariableとなるのが標準です。 変更する場合は、group_labelでオプションで設定します。 df.hvplot(group_label='title') 参考サ…

土砂水理についての雑談1:「土砂水理」とは

R

頭の整理です。 The English version is available here 「土砂水理」とは 洪水時の川の様子 洪水時は川は茶色く濁ってみえる。これは水と一緒に土砂が流れるためである。 平常時 洪水時 図 平常時と洪水時の川の様子:川の防災情報 - 国土交通省 土砂の量(…

Excelのパスワード付きシートの保護、ブックの保護をpythonで一気解除する

R

以前の記事備忘録:Excelのパスワードによるシートの保護やブックの保護をさくっと解除する - 趣味で計算流砂水理の処理をpythonで行なう話です。 Excelのシート、ブックの保護にパスワードをつけるのは意味がわからないですが化石みたいな組織ではよくある…

備忘録:numpyのFFTでハイパスフィルタ

R

趣味のデータ処理で使ったのでまとめておきます。 参考サイト Python - Python/NumPyの高速フーリエ変換・逆変換のコードで正規化、交流成分2倍したりする理由がわかりません|teratail 雑記: numpy.fft の話 - クッキーの日記 参考書籍:なんでもいいです…

実河川スケールの水深平均開水路乱流Depth Averaged Turbulenceの計算:まとめ

R

前回の記事(実河川スケールの水深平均開水路乱流Depth Averaged Turbulenceの計算:結果だけ - 趣味で計算流砂水理)の続きです。 モチベーション 計算モデル 計算モデル 計算水路の条件 計算条件 プログラム 結果と考察 式の導出 ニュートン流体の粘性応力…

実河川スケールの水深平均開水路乱流Depth Averaged Turbulenceの計算:結果だけ

R

先日、川を見に行った時に流速差から生じる渦が綺麗だったので計算で遊んでみました。 計算条件 流れの計算 :水深平均平面二次元流れ 乱流モデル :0方程式モデル 解析範囲 :流下方向1800m、横断方向90m 河床地形:流下方向1/1000、横断方向勾配なし 粗度…

numbaによる並列化の検証:水深平均二次元流計算を例に

R

以前の記事:ALB測量を使って水深平均二次元流計算をすると凄い結果がでた - 趣味で計算流砂水理の計算速度についてのメモです。 numbaによる並列化の話です。numbaについては以下を参照下さい。 numba.jit解説1 : 単純な反復計算の高速化 - 趣味で計算流砂…