
Pympdataは、Smolarkiewicz et al。地球物理学的流体のダイナミクスで使用され、それ以降は、座標変換を備えた1D、2D、3D構造メッシュの一般化された対流拡散PDEを数値的に解くために使用されます。
要するに、pympdataは次の方程式を数値的に解決します。
スカラーフィールド
PympDataドキュメントはpdocを介して生成されます。
PyMPDATA-MPIと呼ばれる別のプロジェクトは、PympData.Applicationsで分散メモリ並列性を有効にするためにnumba-mpi使用する方法を示し、実装とそのパフォーマンスの検証を提供します。
PympDataをインストールするには、 pip install PyMPDATA (またはpip install git+https://github.com/open-atmos/PyMPDATA.gitインストールする)を使用できます。 pympdataはNumPyとNumbaに依存します。
パッケージで出荷されたテストを実行するにはpip install PyMPDATA[tests]とともに呼び出された場合にインストールされる追加のパッケージが必要です。
Pympdataの例は、Pympdataに束ねられ、サブフォルダーのexamplesにあります。これらは、Pypiでも利用できる個別のPyMPDATA_examples pythonパッケージを構成します。例には、 PyMPDATA_examplesパッケージsetup.pyファイルにリストされている追加の依存関係があります。例を実行するには、 PyMPDATA_examplesパッケージをインストールする必要があります。例パッケージにはjupyterノートブックが含まれているため(およびその実行には書き込みアクセスが必要です)、提案されたインストールと起動手順は次のとおりです。
git clone https://github.com/open-atmos/PyMPDATA-examples.git
cd PyMPDATA-examples
pip install -e .
jupyter-notebook
または、Pypi.orgからPypi.orgのExamplesパッケージをインストールしてpip install PyMPDATA-examplesこともできます。
PympDataインターフェイスを構成する重要なクラスを以下にまとめます。
Optionsクラスは、アルゴリズムのバリアントオプションと、実装関連のフラグの両方をグループ化します。
Pympdataでは、溶液ドメインは、最初のセルの境界から最後のセルの境界まで伸びていると想定されています(したがって、最初のスカラーフィールド値はScalarFieldおよびVectorFieldクラスは、Arakawa-C Staggered Grid Logicを実装しています。
境界条件は、 BoundaryConditionで定義されたクラスとして実装されます。
MPDATA反復ソルバーの論理は、 StepperクラスによってPympdataで表されます。
Solverクラスのインスタンスは、統合およびアクセスソリューションデータを制御するために使用されます。インスタンス化中、ソルバーが必要とする追加のメモリは、提供されたオプションに従って割り当てられます。
新しいコードをプロジェクトに送信するには、GitHub Pullリクエスト(または例で作業する場合はPympData -Examples PRサイト)を使用してください。コード作成者の記録を維持し、コードレビューワークフローを追跡およびアーカイブし、新しく追加されたコードでテストの実行を自動化する継続的な統合セットアップから利益を得ることができます。
現在のところ、Pympdata Codebase全体の著作権は、Jagiellonian University(2019-2023)とKrakow大学(2023年以降)にあります - メインメンテナーの職場です。コードの寄付は、著作権の転送を暗示すると想定されています。例外を作成する必要がある場合は、プルリクエストを作成したり、他の方法でコードを寄付するときにそれを示してください。いずれにせよ、寄付コードのライセンスはGPL V3と互換性がなければなりません。
コードを開発すると、Pythonの方法とKissの原則に従います。コードベースは、Pycharmコード検査とピリントコード分析から大きな恩恵を受けています(PylintチェックはCIワークフローの一部です)。
Pympdataの誤った、直感的でない、または文書化されていないバハビアに関する問題は、GitHub Issue Trackerで報告するのが最善です。機能リクエストは、「アイデア...」Pympdata Wikiページに記録されています。
PympDataコードの理解、使用、拡張のサポートを求めるために、GitHubディスカッション機能(問題トラッカーではなく)を使用することをお勧めします。
PyMPDATA-examplesには、Pympdataの問題トラッキングおよびDicsussionインフラストラクチャも使用してください。ご貢献とフィードバックを楽しみにしています。
Pympdataの開発は、ポーランド科学財団の付与(Poir.04.04.00-00-5E1c/18)およびポーランド国立科学センター(グラントNo。2020/39/D/ST10/01220)を通じてEUによって支援されました。
著作権:ジャギエロニアン大学(2019-2023)&Agh University of Krakow(2023以降)
ライセンス:GPL V3