Code Monkey home page Code Monkey logo

da_basic's Introduction

Hi 👋, I'm Toyo-Daichi.

  • I studied Meteorology⛅️ with statistics. I'm currently studying public clouds🌩.

AWS Azure GCP

  • I'm good at the following programing languages and Tools.

Bash Fortran90 Python JS TS React Terraform Docker Git GitHub

  • My certification knowledge is as listed on the site provided by Credly

  • The technologies I am currently interested in are as follows.

GO RUST NextJS

Stats

da_basic's People

Contributors

toyo-daichi avatar

da_basic's Issues

Lorenz96モデルの実装

最も有名なトイモデルの一つであるLorenz96モデルを実装する。

 wikiの引用

Lorenz96 modelは、エドワード・ローレンツ(1996)により提唱された力学系方程式である。

観測にインターバルの情報を加えると計算が発散

Lorenz96での問題。

#36 にてLorenz96が観測の情報がフル条件であれば、
EKF・EnKFが非常に精度よく回ることが確認できた。

が、観測の条件を緩めてしまうと計算が発散する。

プログラムに何かしらのミスがあるはず。。。
アルゴリズムのミスではないので。。。

チェックする!!!

カルマンフィルターの計算がうまく回っていない。

カルマンフィルタ系列の値、予測値、真値の値に整合性がない。
明らかにカルマンフィルター 系列の値が発散している。
※おそらく、状態遷移行列が悪さをしている。

timestep x_true x_sim x_da x_obs
0.40 7.193353 7.096625 -2.200811 7.37

Lorenz63モデルのEKF(接線形)の作成に疑問点

前回の作成より理解度が進んだ。
適宜、コメント等を追加してリファクタリングを行う。

【特に留意する点】

  • 命名の厳密化(有識者が見れば、何の変数か識別できるように。)
  • python描画コードの詳細化

lorenz63モデルの出力並列作業化

lorenz63モデルがある程度の時間がかかる。
下記のスクリプトを並列化してみること。

def lorenz_3ddraw(true_data: list, sim_data: list, da_data: list, *, timestep :int='None'):

for i_num in tqdm(range(0, len(time_list[0]))):
    lorenz_3ddraw(true_list, sim_list, da_list, timestep=i_num)

出力形式の修正

#33 でのプルリクエストのマージ後、現在の状態ではバグが出ないことを確認している。

その一方で、Lorenz63/Lorenz96ともに出力形式がでたらめになっているので修正する。

lorenz63モデルの誤差共分散の過小評価問題

カルマンフィルタ(Kalman Filter: KF)を非線形モデルに適用した場合、仮にモデルが完全でランダム過程を含まない理想的な場合でも、KFは発散することが知られている。

解析値が真の値から離れていき、データ同化が上手く働かないことを言う。filter divergence とも言う。

この一因は、誤差共分散の予報方程式の近似において紛れ込む誤差により、KFが見積もる誤差が過小となって第一推定値を信頼しすぎるためである。これを防ぐために共分散膨張(covariance inflation)を行い、より観測データを取り組むことでKFを安定化することができる。

現段階(tag: assimilation_tool_ver2.0)では、KFに共分散膨張は実装していない。結果を確認してみたところ、データ精度が著しく下がっていたため検討する。

lorenz(1996)での各データ同化手法の実装

最終的にはLETKFを実装したい。その過程で、KFとEnKFの実装を加える。
LETKFでは、局所化関数に風上領域の活用が加えられる方法を模索する。

プルリクエストを出すのは、KFとEnKFが実装できた段階で。。。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.