このプロジェクトについて
Oceananigans.jlは、非静力学および静力学のBoussinesq方程式を有限体積法でシミュレーションするためのJuliaソフトウェアパッケージであり、海洋色の強い流体力学を対象としています。直交座標系および球殻領域をサポートし、CPUまたはCUDA対応のNvidia GPU上で実行できます。GPU実行は、CUDA.jlを読み込み、アーキテクチャ引数をCPU()からGPU()に切り替えることで有効になります。
このプロジェクトは柔軟なユーザーインターフェースを重視しています。単純なシミュレーションは短く記述でき、より複雑な構成も可能です。最小限の例では、RectilinearGridを構築し、WENO移流を用いたNonhydrostaticModelを作成し、ランダムな初期速度場を設定し、時間ステップと停止時間を指定したSimulationを定義して実行します。
ドキュメントには、サンプルスクリプト、主要なオブジェクトと関数に関するチュートリアル、有限体積数値手法の説明、解かれる力学方程式、およびユーザー向けオブジェクトと関数のライブラリリファレンスが含まれています。コミュニティリソースには、計算科学と実験的機能に関するGitHub Discussions、Juliaのセットアップ、GPUアクセス、生産的なワークフローに関するヒントを掲載したwiki、さらにSlackチャンネルやissue/PRの履歴があります。
開発は学界および産業界の貢献者によるコミュニティ主導で行われています。テストインフラはatdepthとClimate Modeling Allianceによって提供されています。このパッケージはMITライセンスで、登録済みのJuliaパッケージレジストリからインストールでき、Julia 1.10以降が必要です。READMEには、Runge-Kutta時間積分、微分可能な地球システムモデリング、WENOベースの運動量移流、GPU海洋力学コア、CATKE鉛直拡散率を扱った複数のモデル開発論文が掲載されており、概要論文の引用が推奨されています。性能ベンチマークは公開ダッシュボードで追跡されており、GPUの飽和には一般に約1000万格子点以上が必要であること、また変換オーバーヘッドのためFloat32が常にFloat64より高速とは限らないことが注記されています。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.