趣味で計算流砂水理

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

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

MENU

備忘録:geopandasのGeoDataFrameをKMLで出力する

参考サイト:Field names mixed up writing via "KML" driver のとおり、fionaを使って出力します。

ただし、GeoDataFrame内の日本語column名が上手く出力されないようです。 また、KMLはNameFieldが必須のため、設定する必要があります。これも日本語名は上手くいきません。

import fiona
import geopandas as gpd

gdf = gpd.read_file("workouts.gpkg", driver="GPKG", layer="bike_ride")
gpd.io.file.fiona.drvsupport.supported_drivers['KML'] = 'rw'
with fiona.Env():
    gdf.to_file("bike_ride_fiona.kml", driver='KML', NameField='name')

備忘録:windows環境でintel fortran無償版の動作環境を作る:2022-9-8

windows環境でintel fortranを使う必要があり、仕方なく環境を構築しました。(Linux版はこちら

基本的には以下の2記事をそのままトレースしているだけです。

ほぼ、マウスクリックで終わりますが、1点重要なことは、visual studiointelコンパイラの順にインストールすることです。

visual studioのインストール

visual studioは現時点で安定的に動作する2019をインストールします。 一応リンクを張っておきますが、ちょくちょく変わると思います。

以前のバージョンの Visual Studio のダウンロード - 2019、2017、2015 以前のバージョン

Azure DevOps Services | Sign In

ダウンロードが完了するとインストーラーに沿うだけです。

1点、「ワークロード」のところで、 「デスクトップとモバイル>C++によるデスクトップ開発」 にチェックを入れてインストールしてください。

参照:Intel oneAPIで作る無償のFortran開発環境 - Qiita

Intel oneAPI Base Toolkitのインストール

以下のトレースでできます。

Intel oneAPIで作る無償のFortran開発環境 - Qiita

重要な点はMicrosoft Visual Studio* 2019と連携させるところチェックを入れることです。

Intel oneAPI HPC Toolkitのインストール

こちらも以下のトレースで大丈夫です。

Intel oneAPIで作る無償のFortran開発環境 - Qiita

これでインテルコンパイラーは動くと思います。


このブログではpythonによる科学技術計算を強く推奨しています。

pythonを使用したことない方はぜひ下記を一読下さい。

computational-sediment-hyd.hatenablog.jp


備忘録:tensorflowのインストール:2022-9-8

急にtensorflowを使い始めました。

インストールは以下を参考にしました。

https://www5.dent.niigata-u.ac.jp/~nisiyama/grad/python/anaconda-install-j.pdf#page=11


condaで仮想環境を作ります。今回はGPU無とします。

conda create --name AI python=3.9
conda activate AI
conda install tensorflow==2.5.0

(2022-9-8)-c conda-forge版をインストールするとscipyに不具合がでました。

後は適当によく使うmoduleを入れます。例えば、

conda install -c conda-forge scipy xarray pandas matplotlib jupyter

な感じです。

これだけで問題なく動いています。簡単すぎます。

(追記)たまにjupyterがうまく起動しない場合があります。 その場合は、

conda install -c conda-forge jupyter_contrib_nbextensions 

で動くと思います。


CNNついては、この本がすごくわかりやすいです

備忘録:海外の洗掘(scour)深予測の簡易式について

洗掘深予測式は、護岸の根入れ等を河床下へ埋設する構造物を設計する際に必要となります。

洗掘は大きく分類すると、

  • 一般的な洗掘:General Scour
  • 構造物周り等の局所的な洗掘:Local Scour

になります。

前者は現在の技術では河床変動計算による予測が概ね可能となってきていますが、後者は難しい状況です。

設計では、簡易式を用いることが多いです。

海外でよく使用されている式は、以下のHEC-RASのマニュアルのようなものです。

古典的な式ですが現役です。土方の世界は技術が進歩していないことがよくわかりますね。

これらの式について、以下の論文に詳しく述べられています。(真剣に読む価値はないです。)

ちなみに国内では、 "護岸の力学設計法"を参照すると、 http://www.jice.or.jp/cms/kokudo/pdf/tech/material/gogan.pdf#page=58 のとおりです。

海外と比較して、過去からの地形変化実績や流況データが入手できることが多いため、これらを活用した予測方法が主となっています。

メモ:観測流量による流出過程、降雨量の推定 日野先生の文献より

先日の勉強会のメモです。


以下の書籍の内容です。

同様の内容は次の論文にもあります。

https://www.jstage.jst.go.jp/article/jscej1969/1980/300/1980_300_43/_pdf


(当時の?)日野先生の見解は次のとおりです。

一方、近年ではレーダー雨量計の整備により、観測雨量を入力とした流出解析による流量推定が主流となっています。 しかし、流出過程を精度良く解くことは現実的には難しく、何らかのモデル化を行いパラメータ調整を行っているのが現実です。

そのような観点から流量観測は重要ですが、降雨量観測又は河川水位観測は高解像度化を進んでいることに比べて、流量観測はほとんど進化していません。

技術的に洪水時の流量観測は難しいことは理解できますが、1地点の情報から流出過程、降雨量の推定できることを考慮すると技術開発に投資する価値はあるのかなとも感じました。

実は私も流量観測なんて要らない派なんですが、流出解析のパラメータ依存を考えると必要なのかなと思いました。

備忘録:私がよく使うfortranのコンパイルオプション

1億年ぶりにfortranを使ったらコンパイルオプションの意味がわからずに整理していなかったことを後悔したので改めて整理しました。

前提として、

  • ソースはfortran2003をベースに一部fortran2008の機能を含んでいる
  • ifortはLinux版。windows版ではハイフンがスラッシュになったり、区切り文字が違ったり...etc

です。

後日CMakeについても同じようにまとめようと思います。


gfortran-debug

公式サイトの翻訳サイトをリンク:2022-08-11時点

  • -std=gnu : 規格を設定。gnuはgfortranでサポートされている規格に対応。他には、f95, f2003, f2008, legacy
  • -Wall : warning all
  • -g : dbxのデバック用
  • -fcheck=bounds : 配列の領域外を検証
  • -fbacktrace(デフォルト有効のため廃止) : エラー箇所を通知
  • -O : 最適化なし
  • "-ffpe-trap=invalid,zero,overflow" : 不適切な演算(例えばsqrt(-1.)): invalid、ゼロ割り:zero、オーバーフロー:overflowを確認
  • -Wuninitialized:初期化されずに使われた変数を検出

gfortran-release

公式サイトの翻訳サイトをリンク:2022-08-11時点

  • -std=gnu : 規格を設定。gnuはgfortranでサポートされている規格に対応。他には、f95, f2003, f2008, legacy
  • -static : ライブラリーをすべて静的にリンク

ifort-debug

公式サイトをリンク:2022-08-11時点。日本語版はダウンロード形式のため英語サイト版

ifort-release

公式サイトをリンク:2022-08-11時点。日本語版はダウンロード形式のため英語サイトをリンク

参照サイト:2022-08-11時点

公式系

その他