このページの内容

Awesome Fortran

Fortranを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

関数型ライブラリ

グラフィックスライブラリ

グラフ、グラフィックス、GUI 向けライブラリ

  • DISLIN - 高水準のグラフ・ユーザーインターフェースライブラリ。
  • f90gl - OpenGL 向け公式 NIST Fortran 90 バインディングのパブリックドメイン実装。
  • F03GL - GLU・GLUT ツールキットとともに利用する、OpenGL ライブラリ向け Fortran 2003 インターフェース。
  • gtk-fortran - GTK+ を使い GUI を構築するクロスプラットフォームライブラリ。Glade RAD ツールとの組み合わせで非常に便利。
  • PGPLOT - クロスプラットフォームの科学グラフ作成ライブラリ。
  • VTKFortran - VTK 標準に準拠するデータの読み書きを行う純粋な Fortran(2003+)ライブラリ。

数学ライブラリ

計算その他の数学操作向けライブラリ。

  • BLAS - ベクトル・行列乗算など基本線形代数操作を行うライブラリ公開のためのアプリケーションプログラミングインターフェース標準。
  • CERNLIB - CERN 中央コンピューターで保守・提供される、汎用ライブラリ・モジュールの大規模コレクション。ソース・オブジェクトコード形式の両方を提供。
  • EISPACK - FORTRAN で書かれた、行列の固有値・固有ベクトルを数値計算するソフトウェアライブラリ。
  • FGSL - GNU scientific library 向けの移植可能なオブジェクトベース Fortran インターフェース。
  • IMSL - 高性能コンピューティング向け商用数学・統計ライブラリの標準、IMSL Fortran Numerical Library。
  • Lis - 線形系反復ソルバーのライブラリ。
  • NAG Fortran Library - 多様な用途で使うため専門家が作成し、数百の完全に文書化・テスト済みルーチンを持つ、利用可能な数学・統計アルゴリズムの最大級コレクション。
  • netCDF - 配列指向科学データの作成、アクセス、共有をサポートする、自己記述・マシン非依存のデータ形式とソフトウェアライブラリセット。
  • OpenBLAS - 利用可能な最速級のオープンソース BLAS ライブラリ。Intel MKL とほぼ同等の速度。

JSON 操作

Fortran 言語で JSON データを操作するライブラリ。

  • FSON - Fortran 95 JSON パーサー。
  • json-fortran - Fortran 2008 JSON API。

XML 操作

Fortran 言語で XML データを操作するライブラリ。

  • fox - Fortran XML ライブラリ。
  • xml-fortran - XML ファイルの読み書きのための完全 Fortran ソリューション。

日付・時刻操作

Fortran 言語で日付・時刻を操作するライブラリ。

  • datetime-fortran - Python の datetime ライブラリをモデルとする Fortran 2003 の日付・時刻操作ライブラリ。

テスト

コードベースのテストとテストデータ生成向けライブラリ。

  • FRUIT - FORTRAN 95 で書かれた FORTRAN Unit Test Framework。
  • Ftunit - Arjen Markus による Fortran ユニットテストフレームワーク。
  • pFUnit - NASA・NGC TASC 開発者による MPI 拡張付き Fortran ユニットテストフレームワーク。並列コード・オブジェクト指向設計を使用。
  • Vegetables - より健全なコードベースには野菜を食べよう。

エンコード・デコード

Fortran 言語でデータをエンコード・デコードするライブラリ。

  • BeFoR64 - Fortran 初心者向け Base64 エンコード・デコードライブラリ。モダン(2003+)Fortran プロジェクト向け base64 エンコード・デコードの KISS ライブラリ。

移植性の実現

コードの移植性を実現するライブラリ。

  • PENF - コードの移植性を確保する純粋な Fortran(2003+)ライブラリ。

コマンドライン解析

コマンドライン解析とユーザーインターフェース構築向けライブラリ。

  • FLAP - Fortran 初心者向けコマンドライン引数パーサー。モダン(2003+)Fortran プロジェクト向けに優れた CLI を簡単に構築する KISS ライブラリ。
  • options.f90 - モダン Fortran 向けオプション・入力処理。

コンパイル・ビルド

Fortran プロジェクトをコンパイル・ビルドするライブラリ。

  • FoBiS - Fortran 初心者向けビルドシステム。モダン Fortran プロジェクトを自動ビルドする KISS ツール。

プリプロセッサー

条件付きコンパイル、コード簡素化用マクロ、追加ソースファイルの取り込み、テンプレートシステム向けライブラリ。

  • Blockit/PyF95++ - コード(または任意のテキストファイル)を入れ子ブロックへブロック解析するための、かなりシンプルな Python フレームワーク。BlockIt は Fortran 95/2003 言語向けテンプレート機能と一部言語拡張を作成するために使用済み。
  • PreForM - Fortran 初心者向けプリプロセッサー。

フォーマット

Fortran ソースコードをフォーマット・スタイルチェックするツール。

  • ffmt - Fypp、Doxygen、OpenACC/OpenMP ディレクティブに対応する高速・設定可能な Fortran フォーマッター。Rust 製で pip 経由インストール可能。

自動ドキュメント

ドキュメント構築用ライブラリ。

  • FORD - モダン Fortran プログラム向け自動ドキュメント生成器。

計算流体力学

CFD 計算向けライブラリ

  • MFC - OpenACC による GPU 高速化を備えるエクサスケール多相圧縮性流れソルバー。2025 Gordon Bell Prize 最終候補。
  • OFF - オープンソース有限体積流体力学コード。

Docker

Web

リソース

Fortran 開発スキル・知識を向上する書籍、Web サイト、記事などのさまざまなリソース。

Fortran Web サイト

  • The Fortran Company - FORTRAN プログラミング言語のホームページ。
  • Fortran Dev - Fortran 開発ブログ。
  • Fortran WIKI - Fortran プログラミング言語・科学計算のあらゆる側面を議論するオープンな場。

Fortran 動画

その他の Awesome リスト

その他の素晴らしいリストは awesome-awesomeness リストで見つけられます。

貢献

貢献を歓迎します。リストへ新しいフレームワーク、ライブラリ、ソフトウェアを追加するには、プルリクエストを送信するか Issue を作成してください。過去 6 か月以内に更新されていない、または素晴らしくないプロジェクトは送信しないでください。