(C) menunjukkan produk komersial
AD_DNSVM: Alat diferensiasi otomatis Fortran menggunakan mode maju untuk skalar, vektor (v) dan matriks (m), oleh David Lauvergnat. Ini tidak memiliki batas dalam hal jumlah variabel independen (angka ini didefinisikan pada saat runtime) dan dapat menghitung hingga turunan ketiga.
ADF95: Modifikasi jingchang shi untuk bekerja dengan gfortran program yang dijelaskan dalam ADF95: Alat untuk diferensiasi otomatis dari kode FORTRAN yang dirancang untuk sejumlah besar variabel independen, oleh Christian W. Straka, Komunikasi Fisika Komputer, Volume 168, Edisi 2, 1 Juni 2005, halaman 123-139, dengan preprint di sini
Adifor: Diberikan kode sumber Fortran 77 dan spesifikasi variabel dependen dan independen pengguna, ADIFOR akan menghasilkan kode turunan augmented yang menghitung turunan parsial dari semua variabel dependen yang ditentukan sehubungan dengan semua variabel independen yang ditentukan sebagai tambahan untuk hasil asli.
adjac: diferensiasi otomatis untuk menghasilkan jacobian yang jarang, menggunakan Fortran 95 dan Operator Overloading, oleh Pauli Virtanen
Audito: Alat diferensiasi otomatis untuk Fortran, oleh Michel V. Heinz. Operator matematika telah kelebihan beban untuk bekerja dengan tipe yang baru didefinisikan, yang tidak hanya mencakup nilai fungsi, tetapi juga gradien, Hessian dan Laplacian.
AUTO_DERIV: Modul yang terdiri dari serangkaian prosedur Fortran 95 yang dapat digunakan untuk menghitung turunan parsial pertama dan kedua (dicampur atau tidak) dari setiap fungsi kontinu dengan banyak variabel independen, oleh S. stamatiadis, dan SC Farahantos, bagian dari perpustakaan program komunikasi fisika komputer. Fungsi matematika harus dinyatakan sebagai satu atau lebih prosedur Fortran 77/90/95.
Autodiff: Diferensiasi Otomatis hingga Turunan ke -4, oleh Simon Geard
Auto-DiFF: Implementasi di Fortran Modern diferensiasi Otomatis Mode Backward, oleh Zoziha.
Dual Number Diferensiasi Otomatis (DNAD): Pembaruan kode dari Yu, W. dan Blair, M.: "DNAD, alat sederhana untuk diferensiasi otomatis kode Fortran menggunakan nomor ganda," Computer Physics Communications, vol. 184, 2013, hlm. 1446-1452, oleh Oddlehod. Proyek Terkait: FORTRAN_DNAD. Fork oleh Oyvindyr menggunakan makro FYPP. Manfaat dari pendekatan ini adalah bahwa antarmuka dan implementasi fungsi matematika dapat "disuntikkan" ke dalam modul tempat mereka digunakan.
Fazang: Perpustakaan untuk diferensiasi otomatis mode terbalik, terinspirasi oleh Stan/Math Library, oleh Yi Zhang. Zoziha telah memperbarui proyek untuk bekerja dengan GFortran dan IFORT.
OpenAD: Alat untuk Diferensiasi Otomatis (AD) Program Komputer Numerik
Tapenade: Mesin diferensiasi otomatis dikembangkan di INRIA. Ini dapat dijalankan secara online atau diunduh dan diinstal secara lokal sebagai satu set kelas Java (JAR Archive).
Transformasi algoritma dalam Fortran (TAF): penerjemah sumber ke sumber untuk kode FORTRAN 77-95, yaitu TAF menerima kode FORTRAN 77-95 sebagai input, menerapkan transformasi semantik, dan menghasilkan kode Fortran 77-95. TAF mendukung beberapa transformasi semantik. Yang paling penting adalah diferensiasi otomatis (AD), yaitu generasi kode untuk evaluasi turunan orde pertama (matriks Jacobian). (C)
Doxygen: Menghasilkan browser dokumentasi on-line (dalam HTML) dan/atau manual referensi off-line (dalam lateks) dari satu set file sumber yang terdokumentasi. Ada juga dukungan untuk menghasilkan output dalam RTF (MS-Word), PostScript, PDF yang hyperlink, halaman HTML, Docbook dan UNIX Man yang terkompresi.
F90TOHTML: Skrip Perl untuk Mengubah File Sumber Fortran menjadi Situs Web Hyperlinked
Ford: Secara otomatis menghasilkan dokumentasi Fortran dari komentar di dalam kode, dari pemrogram fortran-foss
HTMLIndex: Kode C ++ yang membangun halaman HTML "kerangka" untuk file kode sumber C, C ++, ForTRAN77 atau FORTRAN90, mendokumentasikan setiap rutin dalam file ... jika setiap rutin telah ditandai dengan tepat, oleh John Burkardt. Informasi setelah penanda biasanya merupakan penjelasan satu baris tentang apa yang dilakukan rutin.
Protex: Skrip Perl yang dapat menghapus informasi dari header dokumen Fortran standar dan menyimpannya ke file lateks, oleh Arlindo da Silva et al.
Versi-F: Implementasi Semantic Versioning 2.0.0 oleh Minh Dao yang bertujuan untuk menjadi alat yang ramah pengguna untuk menangani versi dalam proyek Fortran
Buildnis: Sistem build independen platform terdistribusi yang dapat menangani modul C ++ 20 dan Fortran dan cukup fleksibel untuk membangun apa pun dan menangani berbagai langkah build
CMAKE Cross-Platform, Open-Source Build System Generator. Fortran_with_cmake_examples oleh Christensencode memberikan beberapa contoh konkret dengan penjelasan sebanyak mungkin untuk memperjelas seseorang dengan jumlah pengalaman yang relatif kecil dengan CMake.
CMAKE UTILS: Skrip dan modul bermanfaat untuk CMake, terutama untuk komputasi ilmiah, HPC, dan FORTRAN, dari Scivision
Proyek Cookiecutter-Fortran: Templat untuk menyiapkan proyek Fortran baru, memungkinkan pengguna untuk memilih dari berbagai sistem build (CMake, FPM, dan Meson) dan model paralelisasi yang berbeda seperti serial, MPI, dan Coarray. Proyek yang dihasilkan termasuk perpustakaan, tes unit (saat ini menggunakan kerangka kerja uji unit Fortuno), dan secara opsional, aplikasi mandiri dan contoh.
Mudah: Langkah -langkah untuk Menyiapkan Repositori Gitub dengan FPM, dan Tindakan GitHub termasuk Ford (1) Dokumentasi dan Uji Unit, oleh Urbolyjost
F90_makefile_builder: Program Python untuk membangun makefile untuk program Fortran 90 dengan mencari melalui setiap modul untuk dependensi, oleh Benjamin Pieczynski. Algoritma menentukan urutan ketergantungan dan membangun file Make dalam urutan yang benar.
Fab: Bangun sistem untuk proyek Fortran dan C. Awalnya dirancang untuk membangun aplikasi ilmiah utama Met Office, Lfric dan UM.
FCM: Modern Fortran Build System + Pembungkus ke Subversi untuk Pengembangan Perangkat Lunak Ilmiah, dari Metomi
FF08Depends: Alat baris perintah untuk mendapatkan informasi ketergantungan file untuk file sumber Fortran 2008, ditulis dalam Fortran 2003 oleh Ianh
Fobis.py, sistem pembangunan fortran untuk orang miskin: penguraian file secara otomatis untuk pembuatan hierarki ketergantungan jika terjadi penggunaan dan termasuk pernyataan, dan pembangunan otomatis semua program yang ditemukan ke dalam direktori root diurai atau hanya target tertentu yang dipilih, oleh Szaghi et al.
Fortdep: Python 3 Script untuk menghasilkan dependensi antara modul Fortran untuk Make, oleh Dominik Gronkiewicz
FortDepend: Skrip Python untuk menghasilkan dependensi untuk proyek Fortran, oleh ZedThree
Forte: Skrip pendek dapat mengeksekusi kode FORTRAN 90 dari dalam shell Linux lebih fleksibel, oleh Ed Higgins
Fortran-kompiler-dengan-dua-komputer: Kode Python untuk memfasilitasi alur kerja kompilasi file sumber Fortran pada satu komputer dan menjalankan output yang dikompilasi (DLL) pada yang lain, oleh Jucelio Tavares Junior. Ini sangat ideal untuk lingkungan terdistribusi di mana proses simulasi dan kompilasi ditangani oleh mesin yang terpisah.
FORTRANDEP: Alat Python untuk menentukan dependensi Makefile untuk proyek FORTRAN, oleh Ryan Orvedahl
Fortran_makedeps: Skrip Python kecil untuk memindai sumber Fortran dan menghasilkan dependensi yang sesuai dengan Makefile, oleh James Biddle
FortranMakeutils: Skrip Python untuk menghasilkan pohon ketergantungan dan makefile, oleh Denis Eiras
Manajer Paket Fortran untuk Visual Studio: Menambahkan opsi dan entri menu untuk membangun, menjalankan, dan menguji proyek FORTRAN Anda menggunakan Fortran Package Manager (FPM), dengan semuanya fungsional
Templat Proyek Fortran: Templat Proyek dengan Pemeriksaan Pra-Komit, Kompilasi Pemeriksaan Dengan fpm build , Pengujian Otomatis dengan fpm test , Pemformatan Kode Dengan fprettify , dan Berbaris dengan Ekstensi Fortran VScode Modern, oleh Matthalex
FPM: Fortran Package Manager (FPM) adalah Sistem Manajer Paket dan Bangun untuk Fortran, dari Fortran-Lang
FPM-Completions: Fungsi penyelesaian baris perintah untuk Fortran Package Manager, oleh Shinobu Amasaki. Zsh diharuskan menggunakan paket ini, saat ini.
FPM-GUI: Antarmuka pengguna grafis Straigtforward untuk Fortran Package Manager (FPM), oleh Arjen Markus
FPM-Registry: Registrasi Terpusat Paket FPM untuk Situs Fortran-Lang
FPM-Search: Daftar paket yang tersedia di FPM-Registry dari baris perintah, oleh Urbolyjost dan Sebastian Ehlert. Hal ini memungkinkan untuk menemukan paket FPM (1) dengan cepat dan menghasilkan baris ketergantungan yang terkait untuk dimasukkan ke dalam file manifes paket FPM (1) (FPM.TOML) yang ingin menggunakannya.
GFORTRAN-CONFIG: Windows Batch Script untuk secara otomatis membangun dan menjalankan kode FORTRAN di lingkungan Mingw-w64 gfortran dan skrip bash analog untuk ubuntu linux, oleh cloudy-sfu
githubactions_intro: Memperkenalkan tindakan github sebagai alat untuk otomatisasi ringan alur kerja data ilmiah, dengan contoh -contoh dalam python dan fortran menggunakan gnuplot, oleh Oscar mojica
Homebrew-Fortran: Memberikan instruksi pembuatan paket untuk alat dan perpustakaan di sekitar Fortran yang kompatibel dengan toolchain homebrew, oleh Federico Perini et al. Paket yang tersedia dari keran ini adalah FPM: Fortran Package Manager dan LForTran: Modern Interactive LLVM Fortran Compiler.
Intel® Onoasi Math Kernel Link Link Link Line Advisor: Meminta informasi tentang sistem komputer dan tentang bagaimana seseorang bermaksud menggunakan perpustakaan Intel® OneAPI Math Kernel (tautan secara dinamis atau statis, menggunakan mode berulir atau berurutan, dan sebagainya) dan secara otomatis menghasilkan tautan yang sesuai untuk aplikasi tersebut
Jams_makefile: Menyediakan cara portabel, serbaguna untuk menyusun proyek Fortran, C, C ++, dan campuran, oleh Mcuntz
MAKEDEPF90: menghasilkan dependensi membuat kode FORTRAN, oleh Erik Edelman
Makefile-Maker: Otomatis Fortran Makefile Maker, oleh Garl4nd. Program pertama memindai semua file Fortran untuk impor file sumber lain dan membuat grafik ketergantungan terarah, di mana setiap titik mewakili file dan panah dari A ke B sesuai dengan file A tergantung pada B.
MakeMake: Perl Script pertama kali dikembangkan oleh Michael Wester untuk membangun makefiles yang benar untuk kode Fortran modern dan dimodifikasi untuk kompiler yang lebih baru dan bekerja untuk C ++ oleh Katherine Holcomb. Penggunaannya dibahas di sini.
MakeMake90: Skrip Python yang menghasilkan makefile untuk program Fortran modular, oleh Jan Berges. Ini secara rekursif mencari direktori kerja untuk file .f90 dan menentukan ketergantungan mereka.
Meson: Sistem pembuatan generasi berikutnya. Test-meson adalah contoh proyek Python dengan kode FORTRAN.
Paket MINGW untuk Fortran Package Manager: Menyediakan instruksi pembuatan paket untuk Fortran Package Manager (FPM) yang kompatibel dengan MSYS2 Toolchain. Proyek ini menyediakan paket MINGW prebuilt di halaman rilis.
Mkhelper: Koleksi Utilitas yang akan digunakan dengan GNU Autoconf dan GNU Make for Building Fortran Projects, oleh Skosukhin
MKMF: Alat yang ditulis dalam perl5 yang akan membangun makefile dari sumber terdistribusi, dari NOAA-GFDL. Program tunggal yang dapat dieksekusi adalah hasil yang khas.
PYFPM: Menyediakan model pydantic dari format manifes paket FPM yang digunakan dalam Fortran Package Manager, oleh Sebastian Ehlert
Run-Fortran: Sorts Fortran Files Berdasarkan Definisi dan Penggunaan Modul, oleh Lycantropos
Spack: Manajer Paket untuk Superkomputer, Linux, dan MacOS yang membuat pemasangan perangkat lunak ilmiah menjadi mudah. Ini tidak terikat pada bahasa tertentu - seseorang dapat membangun tumpukan perangkat lunak di Python atau R, tautan ke perpustakaan yang ditulis dalam C, C ++, atau Fortran, dan dengan mudah bertukar kompiler atau menargetkan mikroarsitektur mikro tertentu.
Verbose-Goggles: Menghasilkan Templat Proyek Fortran, oleh Goddard Guryon. Skrip create_project.sh mengambil nama proyek (dan secara opsional nama direktori proyek) sebagai input, membuat folder proyek, folder build dan docs di dalamnya, dan menyimpan file templat untuk cmake dan doxygen.
XMake: Utilitas build cross-platform ringan berdasarkan LUA. Ini menggunakan xmake.lua untuk mempertahankan build proyek. Dua kompiler Fortran yang didukung adalah gfortran dan ifort.
ChatGPT: Menghasilkan kode FORTRAN dari deskripsi masalah dalam bahasa Inggris atau bahasa alami lainnya dan menerjemahkan kode dari bahasa pemrograman lain ke Fortran, kadang -kadang dengan kesalahan. Ekstensi Chrome Rungpt memungkinkan kode untuk dikompilasi dengan GForTran dan dijalankan di dalam antarmuka Web ChatGPT. LLM lain yang dapat menghasilkan kode FORTRAN adalah kebingungan, GroQ, Claude, Mistral, Vertex AI dengan Gemini dari Google, Llama 3 pada Meta AI, dan Github Copilot.
IRPF90: Lingkungan Pemrograman Fortran yang membantu pengembangan kode FORTRAN besar dengan menerapkan referensi implisit ke metode parameter (IRP)
Maple: Memiliki perintah FORTRAN yang menerjemahkan kode maple ke Fortran 77 (c)
MathCode F90: Menghasilkan Kode Fortran 90 Standalone dari Mathematica Code, secara opsional terhubung melalui MathLink ke Mathematica (C)
MATLAB: Fungsi Fortran menghasilkan fragmen kode FORTRAN dari ekspresi simbolik, atau menghasilkan file yang berisi fragmen kode (c)
Maxima Perintah Fortran bawaan mencetak ekspresi sebagai pernyataan Fortran. F77 adalah peningkatan.
Parametric Fortran: Generator Program-Generator Fortran yang dapat menghasilkan ekstensi FORTRAN, khusus untuk mendukung pemrograman aplikasi tertentu, oleh Martin Erwig et al. Ekstensi ditentukan melalui struktur parameter yang dapat dirujuk dalam program Fortran untuk menggambarkan ketergantungan bagian -bagian program pada parameter ini.
Psyclone: Kompiler khusus domain dan sistem transformasi kode untuk model sistem-terbatas/volume/elemen sistem-sistem di fortran
Sympy: Perpustakaan Python untuk matematika simbolik yang dapat menghasilkan kode FORTRAN, seperti yang diilustrasikan oleh Ivan Pribec
ARGV-FORTRAN: Lebih baik get_command_argument untuk fortran yang mengembalikan argumen dalam string karakter yang dapat dialokasikan, oleh Jacob Williams
CMDFF: Membuat baris perintah yang lebih bagus untuk kode FORTRAN, oleh Brad Richardson
Command_args: Secara otomatis menangani argumen baris perintah yang diteruskan ke program, oleh Arjen Markus
f90getopt: getopt ()-dan getopt_long ()-seperti fungsionalitas (mirip dengan fungsi-C) untuk Fortran 90, oleh Hani Andreas Ibrahim, berdasarkan kode oleh Mark Gates
Fargparse: Argumen baris perintah penguraian untuk Fortran, bagian dari ekosistem Goddard Fortran
Flap: Perpustakaan yang dirancang untuk menyederhanakan konstruksi (berulang) CLI rumit di Fortran 2003, oleh Stefano Zaghi. Flap telah terinspirasi oleh Modul Python Argparse dan mencoba meniru itu.
Ftn_getopt: memasok metode untuk menangani argumen perintah dengan cara yang mirip dengan fasilitas getopt di c, oleh reinhold bader
M_CLI: Memecahkan baris perintah saat diberi namelist dan string prototipe yang sangat mirip dengan doa program, oleh Urbolence dan Laurence Kedward. Menggunakan kelompok namelist memiliki manfaat bahwa tidak ada persyaratan untuk mengonversi string ke jenis yang diperlukan atau untuk menduplikasi deklarasi jenis.
M_CLI2: Memecahkan baris perintah saat diberikan string prototipe yang sangat mirip dengan doa program, oleh Urbolatt et al. Panggilan ke Get_args (3F) atau salah satu variannya kemudian dibuat untuk setiap nama parameter untuk mengatur variabel dengan tepat dalam program.
M_KRACKEN95: FORTRAN 95 Versi Prosedur Kracken (3F) (dan rutinitas terkait) untuk parsing baris perintah, oleh Urbolyjost
OptionsF90: Modul untuk mendefinisikan dan parsing opsi baris perintah dan parameter input untuk program Fortran, oleh Christopher N. Gilbreth. Desainnya terinspirasi oleh modul OptParse Python.
Paramcard: Input parameter baris perintah dibuat sederhana, oleh takahiro ueda
FORTRAN-Compiler-Test-Suite: Berisi kerangka kerja dan rangkaian kasus untuk menguji kompiler fortran dengan tujuan utama untuk memudahkan komunitas Fortran untuk menambahkan tes dan memudahkan untuk menggunakan kerangka kerja dengan berbagai kompiler, oleh Brad Richardson et al.
Kerangka Pengujian Fortran (FTFRAMEWORK): Koleksi skrip Python dan Bash untuk memungkinkan pengujian mudah dari kompiler Fortran menggunakan kelelawar sistem pengujian otomatis Bash, oleh Agforero
AMD Mengoptimalkan C/C ++/Fortran Compiler (AOCC): Kinerja Tinggi, Alat Pembuatan Kode Kualitas Produksi. Lingkungan AOCC menyediakan berbagai opsi untuk pengembang sambil membangun dan mengoptimalkan aplikasi C, C ++, dan Fortran yang menargetkan platform Linux® 32-bit dan 64-bit.
AOMP: Kompiler berbasis dentang/llvm open-source dengan dukungan tambahan untuk OpenMP® API di Radeon ™ GPU. Instruksi untuk menginstal F18 ada di sini.
Kompiler ARM FORTRAN: Disesuaikan untuk kode server, HPC, dan ilmiah, dengan dukungan untuk Fortran dan OpenMP. Kompiler dibangun di ujung front-end open source, dan optimasi berbasis LLVM dan back-end pembuatan kode. (C)
F18-LLVM-Project: Fork dari LLVM/LLVM-Project untuk F18. Sinkronisasi dengan F18-MLIR dan F18.
Flang: Flang (juga dikenal sebagai "Classic Flang") adalah LLVM yang menargetkan kompiler di luar pohon. Ini adalah versi open-source dari PGFORTRAN, kompiler fortran komersial dari PGI/NVIDIA
Flang-WASM: Berisi alat untuk membangun versi yang ditambal dari kompiler flang-baru LLVM yang dapat digunakan untuk menyusun sumber Fortran untuk WebAssembly. Perpustakaan runtime Fortran yang sudah dibangun juga dibangun untuk WebAssembly menggunakan Emscripten.
FORTRAN-DEV-IMAGE: Gambar berisi versi terbaru dari kompiler, perpustakaan MPI dan HDF5 bersama dengan alat build dasar (CMake, ninja), oleh håkon strandenes. Gambar -gambar ini kemudian dapat digunakan untuk menyusun aplikasi Fortran yang bergantung pada MPI dan HDF5.
Sintesis tingkat tinggi Fortran (Fortran-HLS-Main): Memungkinkan Fortran pada perangkat AMD Xilinx melalui integrasi flang LLVM di ekosistem Vitis, sehingga memungkinkan penggunaan semua fiturnya, seperti simulasi, profil, dan generasi bitsream perangkat keras. Kertas terkait: Sintesis tingkat tinggi Fortran: Mengurangi hambatan untuk mempercepat kode HPC pada FPGA, oleh Gabriel Rodriguez-Canal et al.
FORTRAN-IOS: Script yang bertindak seperti kompiler fortran yang menggunakan flang untuk membangun sumber untuk iOS ARM64, oleh Emma Cold
Kernel Fortran untuk Jupyter dengan Dukungan Coarray: Dari SourceryInstitute
FORTRAN-SETUP: Skrip untuk mengatur sistem untuk menggunakan Fortran pada sistem berbasis Ubuntu, oleh Federico E. Benelli. Ini menginstal Python Package Manager untuk beberapa alat berbasis Python, GForTran, opsional Intel Oneapi HPC, Blas dan Lapack, GDB, Fuzzy-Finder (FZF), Fortran Package Manager (FPM), Findent, Flinter, Ford, Fortls, dan Fortran_Project, sebuah skrip untuk generasi dan generasi.
FORTRAN.RS: Interpreter untuk Fortran, ditulis dalam karat, oleh Xavier2p, pengembangan yang sedang berlangsung
Full-Stack-Fortran: Toolchain untuk mengkompilasi Fortran ke WebAssembly, dan beberapa proyek menggunakannya, oleh Christoph Honal et al.
GFORTRAN: Proyek GNU Fortran, mengembangkan kompiler Fortran 95/2003/2008 gratis untuk GCC, koleksi GNU Compiler. Upaya pengembangan GFORTRAN menggunakan lingkungan pengembangan terbuka untuk menarik tim pengembang yang lebih besar dan untuk memastikan bahwa GFORTRAN dapat bekerja pada berbagai arsitektur dan lingkungan yang beragam. Instalasi GForTran pada berbagai platform dibahas di Fortran-Lang. Untuk Windows ada QuickStart Fortran.
gfortran-for-macos: gfortran untuk macos intel, oleh fxcoudert.
G95: Stabil, kompiler Fortran 95 produksi tersedia untuk beberapa arsitektur CPU dan sistem operasi. Bagian dari standar F2003 dan F2008 telah diterapkan
Lingkungan Pemrograman HPE Cray: Rangkaian perangkat lunak yang terintegrasi penuh dengan kompiler, alat, dan perpustakaan yang dirancang untuk meningkatkan produktivitas programmer, skalabilitas aplikasi, dan kinerja. Selain dukungan untuk beberapa bahasa pemrograman, model pemrograman, kompiler, perpustakaan I/O, dan perpustakaan ilmiah, Suite ini menawarkan berbagai alat yang didukung untuk bidang -bidang termasuk debugging, analisis kinerja, manajemen beban kerja, dan pengaturan lingkungan. (C)
IBM FORTRAN: XL FORTRAN untuk AIX®: Bangun aplikasi Fortran yang dioptimalkan dan disetel di IBM AIX.
XL FORTRAN untuk Linux: Optimalkan aplikasi HPC dan kognitif FORTRAN Anda untuk Linux pada sistem IBM Power®, termasuk prosesor Power9 ™.
VS FORTRAN: Kembangkan aplikasi yang efisien untuk IBM Z® dan Z/VM® dengan IBM vs Fortran. (C)
Intel Fortran: Dibangun di atas sejarah panjang menghasilkan kode yang dioptimalkan yang mendukung standar industri sambil mengambil keuntungan dari teknologi bawaan untuk prosesor Intel® Xeon® Scalable dan prosesor Intel® Core ™. Tetap selaras dengan arsitektur Intel yang berkembang dan beragam, kompiler sekarang mendukung GPU.
LFORTRAN: Kompiler Fortran Interaktif Sumber Terbuka (BSD Berlisensi BSD) yang dibangun di atas LLVM. Ini dapat mengeksekusi kode pengguna secara interaktif untuk memungkinkan pekerjaan eksplorasi (seperti Python, Matlab atau Julia) serta menyusun binari dengan tujuan untuk menjalankan kode pengguna pada arsitektur modern seperti CPU multi-core dan GPU.
MacOS-Cross-Compiler: Compile C, C ++, dan Fortran Code di Linux yang akan dieksekusi pada MacOS, oleh Jerred Shepherd. Proyek ini difokuskan pada mendukung versi MacOS yang lebih baru.
Mercurium: Infrastruktur kompilasi sumber-ke-sumber C/C ++/Fortran yang ditujukan untuk prototyping cepat yang dikembangkan oleh kelompok model pemrograman di Barcelona Supercomputing Center. Mercurium digunakan, bersama -sama dengan pustaka runtime Nanos ++, untuk mengimplementasikan model pemrograman OMPSS. Kedua alat juga menyediakan implementasi OpenMP 3.1.
Modern-Fortran-Docker: Dockerfile untuk membangun gambar Docker Modern-Fortran. Ini didasarkan pada Ubuntu 23.10, yang memiliki beberapa peningkatan pada kernel Linux dan mendukung GCC GFortran v13.2.0. DockerFile ini memasang GForTran, OpenMPI, dan Opencoarrays dan juga mengklon-klon proyek-proyek modern-fortran.
NAG: Kompiler Fortran yang kuat dan sangat diuji, dihargai untuk kemampuan memeriksa dan pelaporan kesalahan terperinci. Tersedia di Linux, Microsoft Windows dan Mac OS X, termasuk Apple Silicon Mac. (C)
NEC: Fortran Compiler sesuai dengan standar FORTRAN-2003 (ISO/IEC 1539-1: 2004) dan mendukung banyak fitur dari Fortran-2008 (ISO/IEC 1539-1: 2010). NEC memiliki pengalaman lebih dari 30 tahun dalam teknologi kompiler untuk mesin vektor kelas atas, dan kompiler yang baru dikembangkan ini akan didasarkan pada pengalaman ini dan mendukung semua strategi optimasi yang dikenal oleh kompiler NEC. (C)
Kit Pengembangan Perangkat Lunak HPC NVIDIA: NVIDIA HPC SDK C, C ++, dan Fortran Compiler mendukung akselerasi GPU pemodelan HPC dan aplikasi simulasi dengan arahan C ++ dan Fortran, OpenAcc® standar, dan CUDA®. Perpustakaan matematika yang dipercepat GPU memaksimalkan kinerja pada algoritma HPC umum, dan pustaka komunikasi yang dioptimalkan memungkinkan multi-GPU berbasis standar dan pemrograman sistem yang dapat diskalakan.
OMPI: Implementasi Antarmuka Pesanan Pesan Open Source (MPI) yang dikembangkan dan dikelola oleh konsorsium mitra akademik, penelitian, dan industri
Open Fortran Compiler (OFC): Tujuan adalah untuk menyediakan alat analisis kode statis Fortran, modernisasi fortran yang dapat mencetak ulang warisan Fortran sebagai F90 jika memungkinkan, dan front-end alternatif untuk kompiler open-source.
Oracle Developer Studio Fortran Compiler, F95: Menyediakan fitur dan ekstensi berikut: Paralelisasi loop otomatis dan eksplisit yang dioptimalkan untuk sistem multiprosesor, ekstensi Fortran Vax/VMS, optimasi paralelisasi openMP, dan optimasi paralelisasi potensial menghasilkan aplikasi berkinerja tinggi. (C)
Playground: Taman Bermain Fortran Interaktif di Browser, oleh Ashirwad Mishra et al. Tujuan utamanya adalah bagi pendatang baru untuk dengan mudah mendapatkan selera bahasa dan mempelajari hal -hal penting dari pemrograman Fortran.
Rose: Infrastruktur Kompiler untuk Membangun Transformasi Program Sumber-ke-Sumber dan Alat Analisis untuk C Skala Besar (C89 dan C98), C ++ (C ++ 98 dan C ++ 11), UPC, FORTRAN (77/95/2003), OpenMP, Java, Python dan Aplikasi PHP
Pengaturan-Fortran: Github Action Untuk mengatur Fortran Compiler dan Toolchain di Ubuntu, MacOS dan Windows, dari Fortran-Lang. Kompiler yang tersedia adalah GFortran, IFX, IFORT, LFORTRAN, dan NVFORTRAN.
SilverFrost Fortran FTN95: Kompiler Compiler Standar Fortran 95 Lengkap, mampu memproduksi Executable Fast untuk Win32 dan untuk Microsoft .NET. FTN95 dikirimkan dengan pemeriksaan runtime terbaik di dunia dan berbagai perangkat lunak pendukung. Ada edisi pribadi gratis. (C)
VSI FORTRAN untuk OpenVMS: Mendukung Standar Fortran 66, Fortran 77, Fortran 90, dan Fortran 95
XCC-Project: C/C ++/Fortran Compiler Collection Ditulis dalam Java, oleh Jianpingzeng
Fortran Stacktrace: Menghasilkan jejak tumpukan dengan menyediakan pembungkus fortran di sekitar perpustakaan C ++ mundur-CPP. Ini juga terintegrasi dengan perpustakaan penanganan kesalahan FORTRAN untuk menghasilkan kesalahan yang mencakup stacktrace.
GDB_FORTRAN_TOOLS: Mendukung debugging GDB yang lebih canggih dari kode FORTRAN: Akses generik ke banyak operator array numpy dasar: jumlah, min, max, log10, dll.; Grafik: plot, imshow, sebar; Simpan Data: Pickle, CSV, oleh Ken Mankoff dan X-neon
SerialBox: Perpustakaan Serialisasi Data dan Alat untuk C/C ++, Fortran, dan Python3, digunakan untuk membangun kerangka kerja validasi terhadap rujukan referensi, dari ETH Zurich
UPS: Sumber Level C, C ++ dan Fortran Debugger yang berjalan di bawah X11, oleh Mark Russell. Sistem yang didukung saat ini adalah FreeBSD dan GNU/Linux di Intel X86 dan Solaris di SPARC.
Align-F90: Dukungan Alignment untuk Fortran 90 di Emacs, oleh Jannisteunissen
Doom Emacs Fortran Module: Memungkinkan lingkungan pengembangan modern yang lengkap untuk Fortran. Ini memiliki integrasi dengan dukungan FPM, LSP melalui Fortls, format otomatis melalui FPRettier, dan dukungan untuk GFortran dan Intel Fortran.
Emacs: editor teks gratis yang dapat diperluas, dapat disesuaikan, gratis. Unduh di sini.
F90Format: Paket yang menghubungkan fprettify dengan emacs-reformatter Steve Purcell untuk memformat sumber Fortran modern, oleh Troy Brumley
F90-IFACE: Browser berbasis Emacs untuk antarmuka generik FORTRAN 90, oleh Wence- dan Monnier
F90-Namelist-Mode: Ekstensi ke EMACS F90-Mode untuk Menangani Namelist Fortran, oleh ZedThree
FORTPY: Python Emacs Intellisense dan Unit Testing Dukungan untuk Fortran, oleh Rosenbrockc dan Wsmorgan
FORTPY-EL: Paket LISP untuk Emacs yang terintegrasi dengan FORTPY untuk memberikan pelengkapan otomatis khusus konteks dan Intellisense untuk Fortran 2003, termasuk konstruksi berorientasi objek, oleh RosenBrockc
FORTRAN-INDEX-ARGS: Angka argumen subrutin dan menunjukkan indeks sebelum setiap argumen dalam daftar, oleh ffevotte. Indeks seperti itu hanya ditampilkan di layar, tetapi jangan memodifikasi buffer yang mendasarinya.
Lapisan Fortran: Lapisan Konfigurasi Spacemacs Dasar untuk Bahasa Fortran, oleh Marco Scopesi
FORTRAN-TAG: Alat pengindeksan kode sumber Fortran dengan fokus menemukan definisi variabel atau prosedur apa pun, oleh Raullaasner et al. Ia dapat dengan benar menemukan semua variabel global dan lokal dan diharapkan bekerja dengan kode yang sesuai Fortran 2008 dengan beberapa pengecualian seperti yang disebutkan di bawah ini.
fprettify.el: antarmuka untuk fprettify, auto-formatter untuk kode fortran modern, oleh osada-yum
CCX_FFF: Skrip Python mengonversi kode FORTRAN 77 lama ke yang dengan bentuk bebas, dari kalkulix. Menggeser komentar dan tanda kelanjutan untuk lipat kode yang lebih baik.
EZUP: Alat untuk Mengonversi Formulir Sumber Tetap Fortran menjadi Formulir Sumber Bebas agar kompatibel dengan ELF90, oleh Agustus Miller
F2F: Skrip Perl yang melakukan banyak karya yang membosankan untuk mengubah kode sumber FORTRAN 77 menjadi Modern Fortran, oleh Colby Lemon
F2F90: Utilitas untuk mengonversi Formulir Sumber Fixed Fortran 77 ke Fortran 90 Free Source Form, oleh Michael Metcalf, Peter A. Rochford, dan Ben Trettel
f77tof90: skrip python yang dibaca dalam fortran 77 (.f or .f) file formulir tetap dan mengubahnya menjadi file fortran 90 fortran gratis (.f90 atau .f90), oleh MattdTurner. Itu berhasil digunakan untuk mengonversi basis kode lama (lebih dari 400 .f/.f file dan jutaan baris kode) dari Fortran 77 ke Fortran 90.
FFIXED2FREE: Konversi Kode Sumber Format Tetap Fortran (Gaya Fortran 77) menjadi kode sumber format bebas (gaya Fortran 90), oleh Pirmin Kaufmann dan Martin Schraner. FFIXED2FREE tidak mengharuskan kode format tetap dibatasi pada standar FORTRAN 77.
FORTRAN77_TO_FORTRAN90: Konversi kode FORTRAN 77 FORTRAN 77 lama menjadi kode FORTRAN 90 FORT FORM, oleh Koushikphy
Tools Fortran-LeGacy: Alat untuk menangani kode FORTRAN: Tetap untuk konverter formulir sumber gratis, konverter atas ke huruf kecil, formatter untuk deklarasi variabel, oleh ylikx
FORTRAN_TOOLS: Skrip Python 2 oleh James Goppert dan Lenna Peterson
Freestyle: Script untuk mengonversi file FORTTRAN formulir tetap (ditulis dalam Fortran 77) dan file header ke Form Formulir, oleh Bast
GCONVERT: Program untuk mengonversi Formulir FORM FORTRAN menjadi kode yang berfungsi sebagai formulir tetap atau bebas, oleh Georgetsikas.
TO_F90: Alat Alan Miller untuk mengonversi kode FORTRAN 77 menjadi kode FORTRAN 90 Free-Form, dari JBDV-No
Eggx/Procall: Perpustakaan Grafis X11 untuk C, C ++ dan Fortran dibuat untuk mencapai kesederhanaan. Seseorang dapat dengan mudah membuat grafik 2D pada sistem X Window dengan menggunakan fungsi menggambar gaya dasar.
FTK: Menyediakan sarana langsung untuk membangun antarmuka pengguna grafis di Fortran berdasarkan TCL/TK, oleh Arjen Markus. Dalam keadaan saat ini itu adalah bukti konsep, bukan perpustakaan penuh.
Fortran-Graphics: Perpustakaan Grafis Ditulis dalam OpenGL, oleh Ed Higgins
Gino: API kaya fitur kelas atas untuk membuat grafik 2D dan 3D yang kompleks dan aplikasi GUI. Produk Gino tersedia untuk Fortran di bawah Windows dan Linux. (C)
GTK-Fortran: Perpustakaan lintas platform untuk membangun antarmuka pengguna grafis (GUI), oleh Vincent Magnin et al. GTK-Fortran adalah parsial GTK / FORTRAN Binding yang ditulis di Fortran, berkat modul ISO_C_BINDING untuk interoperabilitas antara C dan FORTRAN.
Dialog File Tiny: Menawarkan banyak dialog modal dan file di C dan menyediakan antarmuka / modul ISO_C_BINDING untuk memanggil fungsi -fungsi ini dari Fortran, oleh Guillaume Vareille
Winteracter: GUI Toolset untuk bahasa pemrograman Fortran. Ini terdiri dari berbagai alat pengembangan visual dan perpustakaan subrutin yang substansial. Beberapa kompiler Fortran didukung. (C)
ajt-fortran.vim: Port dari skrip indentasi vim Ajit J. Thakkar
FF08OBFUSCATE: Alat baris perintah untuk menghasilkan varian yang dihancurkan secara dangkal dari sumber program Fortran 2008, yang ditulis dalam Fortran 2003 oleh Ianh. Ini melakukan ini dengan memodifikasi pengidentifikasi dalam program dan merender kode tanpa komentar sumber apa pun.
Temukan: Indentasi dan mempercantik sumber Fortran, format tetap dan bebas, dan mengkonversi format tetap untuk format bebas fortran, oleh wvermin dan mftabriz. Findent-pypi, oleh Gnikit, memiliki roda pypi.
Bunga: Konversi kode format format bebas ke semua huruf kecil atau semua huruf besar, oleh Urbolat. Dalam setiap kasus komentar dan teks yang dikutip dibiarkan apa adanya.
FORTRANindent: Alat untuk indentasi sumber Fortran 90, dari Kairzhan
Fortranindenter_unesp_2007: Indenter untuk Fortran 77 dikembangkan di C, oleh Rafael Delalibera Rodrigues dan Paulo Henrique Arantes Urgal
fprettify: auto-formatter for modern Fortran code that imposes strict whitespace formatting, written in Python, by pseewald
f90split: splits free source form Fortran code into multiple files, one module or procedure per file, by Michel Olagnon, adapted by urbanjost for use with the Fortran Package Manager. Contained procedures are stored within their parent procedure
IndentPatternFortran: general indentation patterns for Fortran, by JHenneberg
xpand: expands tabs in files. removes trailing white space, and optionally removes multiple blank lines, by urbanjost. It is primarily intended for use on systems without access to the Unix command expand(1).
ctypesForFortran: Python module to generate Python bindings to Fortran subroutines using ctypes, by Sébastien Riette and Alexandre Mary
Cython fortran-file: fast and easy reader for record-based binary format, as written by Fortran, by Corentin Cadiou
Cython_ISO_Fortran_binding: code for using ISO_Fortran_binding.h from Cython, by Yuichiro Sakamoto. By using ISO_Fortran_binding.pxd, it is possible to call Fortran from Cython in the same way as one calls Fortran from C.
extutils-f77: Perl module that tries to figure out how to link C programs with Fortran subroutines on a system, adding a list of Fortran runtime libraries, by mohawk2 et al.
f2py-with-derived-types: demonstrates how to use f2py with Fortran derived types with type-bound procedures, by Nick Wogan
F2x: versatile, template-based Fortran wrapper written in Python. Compared to the popular tool f2py it comes with two important differences: a full Fortran parser based on the work by the OpenFortranParser, and a very flexible code generation backend that uses Jinja2 templates.
f90nml: Python module and command line tool, by Marshall Ward et al., that provides a simple interface for the reading, writing, and modifying Fortran namelist files. A namelist file is parsed and converted into an Namelist object, which behaves like a standard Python dict
f90_port: tests Erlang ports to Fortran, by Pedro Schreiber, explained here
f90wrap: Fortran 90 to Python interface generator with derived type support, by jameskermode et al.
ffi-flang-zig: FFI between flang-new runtime and Zig by Matheus C. França, inspired by sourceryinstitute/ISO_Fortran_binding. LLVM/flang v18.1.7 files are included in this repository.
fffi: tool to transparently use shared libraries generated by Fortran in Python with NumPy arrays, from the pyccel project. It is based on CFFI and currently assumes the use of gfortran or Intel Fortran.
fgen: provides Python interfaces to Fortran code, specifically derived types, by Jared Lewis and Zebedee Nicholls. An example of fgen-wrapped Fortran code is at fgen-example.
fimport: Python import hook for importing Fortran module, by Pauli Virtanen
fmodpy: lightweight, efficient, highly automated, Fortran wrapper for Python, by Thomas Lux. The generated wrappers are self contained, written purely in Python, and are immediately sharable to any other POSIX platform with a Fortran compiler installed.
fortformat: Rust parser for Fortran format strings, by Joshua Laughner
Forthon: Python wrapper generator for Fortran, allowing access to functions and subroutines, by David Grote et al.
FortModGen: generate consistent Fortran and C/C++ data structures, and a consistent C/C++ API from a toml configuration file for global object interop, from neut-devel
fortran2cc2fortran: Fortran to C / C to Fortran (nested) index converter, by Hans Alemão
Fortran90Namelists.jl: Julia implementation of Python f90nml for working with Fortran namelists
FortranFile: read data using Swift from files using a Fortran format specification, by Nick Everitt
FortranFiles.jl: Julia package for reading/writing Fortran unformatted (ie binary) files, by Frank Otto et al.
Fortran filesystem: file system path manipulation utilities for standard Fortran, from scivision. Inspired by Python pathlib and C++17 filesystem.
FORTRAN format interpreter for Python (py-fortranformat): Generates text from a Python list of variables or will read a line of text into Python variables according to the FORTRAN format statement passed, by Brendan Arnold and michaelackermannaiub
fortran_magic: extension for IPython/Jupyter that helps to use Fortran in an interactive session, by Martín Gaitán
FortranNamelist: Java reading class for Fortran namelists, by Jonathan Schilling
Fortran Namelist Reader: Python and Matlab readers for Fortran namelist => dict / struct, from scivision
fortran-namelist: Ruby library to manipulate Fortran namelists, by Saji Hameed
fortran-unix: Fortran 2008 ISO C binding interfaces to selected POSIX and SysV types, functions, and routines on 64-bit Unix-like operating systems, by interkosmos
fpydemo: demonstration of packaging a command line tool written in Python and Fortran, by Saikat Banerjee
ftest: demonstrates how to call R functions from Fortran, by Balasubramanian Narasimhan. A fully worked example is provided in the form of a vignette.
fython: Fython is Fortran with a Python syntax, by Nicolas Essis-Breton. Fython code can be used in Python with a standard import statement.
GenericF2PY: demonstrates how to handle Fortran binaries in Python modules, by Charlie Taylor
gfort2py: library to allow calling Fortran code compiled with gfortran from Python 2.7 or Python 3, by Robert Farmer and Ondřej Čertík
h2m-Autofortran-Tool: allow easy calls to C routines from Fortran programs, by Garnet Liu and Michelle Anderson. Given a header file in standard C, h2m will produce a Fortran module providing function interfaces which maintain interoperability with C. Features for which there are no Fortran equivalents will not be translated and warnings will be written to standard error.
haskell-fortran: example of how to use Haskell's foreign function interface (FFI), and C's Fortran FFI, to connect ultimately Fortran code to Haskell, and to Haskell's HMatrix library, by Josh Freckleton
inline: provides functionality to dynamically define R functions (and corresponding S4 objects) from in-line C, C++ or Fortran code, by Dirk Eddelbuettel et al.
jansfortrankernel: Jupyter kernel implementation of Fortran, by Jan Arman Parpin
libfde: Fortran Development Extensions (library), by Zorkator
M_process: read and write lines to or from a process from Fortran via a C wrapper, by urbanjost
M_system: module that allows Fortran to call commonly available C routines that perform basic system operations like creating and deleting files and directories, changing and querying file permits, getting basic ID and process information, ... and other POSIX system requests, by urbanjost
multilingual-julia: minimally complete examples of Julia calling and being called by Fortran, C, and Python, by Alex Barnett
Mwrap: interface generation system in the spirit of SWIG or matwrap, by Zydrunas Gimbutas et al. From a set of augmented MATLAB script files, MWrap will generate a MEX gateway to desired C/C++/Fortran function calls and MATLAB function files to access that gateway. Mwrapdemo by Alex Barnett contains simple, minimally complete examples showing how to use MWrap to link to a C or Fortran library, pass in and out 1D and 2D arrays, handle complex, float, and Boolean types, and use OpenMP.
namelist_python: Fortran namelist parser in Python, by Leif Denby et al.
nml: R package for parsing Fortran namelist files, by Jem Stachelek et al.
nml: query/modify utility in Clojure for Fortran namelists, by Paul Madden and Jemma Stachelek
nml: serialize and deserialize Fortran namelist input in Rust using the serde framework, by manorom
node-fortran: bridge that allows Fortran code to be from Node.js, by Ionică Bizău
process_model: reads a TensorFlow SavedModel and outputs Fortran code to interface it to the fortran-tf-lib, by Simon Clifford et al.
pyifb: Python interface to Fortran's ISO_Fortran_binding.h, by Robert Farmer
RFortranRcpp: communication between Fortran, Rcpp and R, by Konrad1991. Passing R or Fortran user code to Fortran code from a package.
setup_mex: provides scripts that attempt to facilitate setting up the MATLAB MEX on macOS or Windows, by Zhang Zaikun. For Fortran, it will install (automatically) the Fortran compiler from Intel oneAPI
shroud: creates a Fortran or Python interface to a C or C++ library, from LANL. It can also create a C API for a C++ library.
Simplified Wrapper and Interface Generator (SWIG): creates Fortran wrapper code from C++ headers
SUtools: Tools for autogenerating Fortran registration code for R, by Balasubramanian Narasimhan
thenamelisttool: provide command line tools useful to work with namelists or pack of namelists (update them, compare them, ...), by Louis-François Meunier and Alexandre Mary
TorchFort: deep learning training and inference interface for HPC programs implemented using LibTorch, the C++ backend used by the PyTorch framework. This library can be invoked directly from Fortran or C/C++ programs.
vecLibFort: lightweight but flexible "shim" designed to rectify the incompatibilities between the Accelerate/vecLib BLAS and LAPACK libraries shipped with Mac OS X and FORTRAN code compiled with modern compilers such as GNU Fortran, by Michael C. Grant and Robert Huston
allgebra: docker images for developing C++ and Fortran HPC programs, by termoshtt and t-hishinuma
Codee: automatic code inspection platform specialized in performance for time-critical C/C++/Fortran applications (C). Training materials are here.
fortran-parser: Fortran preprocessor in Python, by Touko Puro, designed for multithreading and GPU offloading through OpenMP, featuring automatic privatization of modified global variables in multithreaded code, Fortran array operation unrolling to DO-loops with automatic declaratives to spread work either along CPU or GPU threads, automatic declarations for global variables needed in target regions, and function inlining which helps OpenMP offloading
gpufort: source-to-source translation tool for CUDA Fortran and Fortran+X in the spirit of hipify
hipfort: Fortran Interface For GPU Kernel Libraries
Hybrid-Fortran: directive-based extension for the Fortran language to support GPGPU. Its input is Fortran code with Hybrid Fortran extensions, and its output is CUDA Fortran or OpenMP Fortran code.
mpich: high-performance and widely portable implementation of the MPI-3.1 standard from the Argonne National Laboratory
occa: portable, and vendor neutral framework for parallel programming on heterogeneous platforms. The OCCA API provides unified models for heterogeneous programming concepts—such as a device, memory, or kernel—while the OCCA Kernel Language (OKL) enables the creation of portable device kernels using a directive-based extension to the C-language.
ohhelp-for-fpm: dynamic load balancing and scalability library that supports massively parallel particle-in-cell simulations using MPI. Each process handles the particle calculations within the partitioned area while taking on some of the particles handled by other processes so that the overall load is balanced.
Omni Compiler: compiler for code including XcalableMP, XcalableACC, and OpenACC directives. The base languages supported by Omni Compiler are C language (C99) and Fortran 2008 in XcalableMP, and C language (C99) in XcalableACC and OpenACC.
OMPify: generates OpenMP pragmas for C, C++ and Fortran code snippets using Transformers.
OpenCoarrays: supports Fortran 2018 compilers by providing a parallel application binary interface (ABI) that abstracts away the underlying parallel programming model, which can be the Message Passing Interface (MPI) or OpenSHMEM, from sourceryinstitute
SPEL_OpenACC: code associated with the paper SPEL: Software tool for Porting E3SM Land Model with OpenACC in a Function Unit Test Framework, by Peter Schwartz et al., 2022 Workshop on Accelerator Programming Using Directives (WACCPD). It provides a robust method to port the E3SM Land Model (ELM) onto GPUs.
stng: compiler for Fortran stencils using verified lifting, by Alvin Cheung et al. It takes input codes in Fortran and automatically rewrites them to Halide, a new high-performance domain-specific language that leverages GPUs for computation.
System FOR Automated Parallelization (SAPFOR): software development suite that is focused on cost reduction of manual program parallelization, by kaniandr and zoocide. It was primarily designed to perform a source-to-source transformation of a sequential program for execution on heterogeneous clusters.
accis: plotting and graphics library by Ian Hutchinson. Related project: PLOTTRACES
asgl: produces a PostScript or Encapsulated PostScript file that can contain scatter plots, line plots, histograms, 2D density plots, and/or bond-and-stick plots of molecules, by Andrej Šali
CHART_COUPE: Fortran plotting package based on NCL libraries, tuned for geophysical numerical model output, from meom-group
DISLIN: high-level plotting library for displaying data as curves, polar plots, bar graphs, pie charts, 3D-color plots, surfaces, contours and maps, available for several C, C++, Fortran 77 and Fortran 90/95 compilers on the operating systems Unix, Linux, FreeBSD, Windows, Mac OSX and MS-DOS. The DISLIN distributions can be used freely without any restrictions. Access to the source code and a preferred support is available via a contract.
Dislin_x_y_plot: generates plots from within a Fortran program nearly as easily as with the provided Dislin "quickplots", by Andi Zuend. However, unlike the quickplots, this module offers a lot more options for controlling the plot page, axis system and various curve properties. It also makes adding multiple x--y data sets (curves) to a single plot easy.
fplot: provides a convenient interface for plotting with gnuplot, by jchristopherson
fortplot: plot module for Fortran so that plotting can be done in real time (on the fly), by Anjishnu Sarkar
giza: 2D scientific plotting library built on cairo, by Daniel Price et al. Provides uniform output to pdf, ps, png and X-Windows. Written in C with no dependencies (other than cairo) as a direct replacement for PGPLOT.
gnufor2: Fortran 90 module by Alexey Kuznetsov with subroutines for plotting data, including 2D, 3D plots, surfaces, polar coordinates, and histograms. It is a modification of the GNUFOR interface written by John Burkardt.
gnuplotfortran: Fortran 95 gnuplot interface for some Unix-like OS'es, by Madhusudan Singh. This provides some routines that enables direct access of a child gnuplot session from a Fortran 95 program. fortranposix must be installed.
graffer: interactive tool for generating plots of data and/or functions, by James Tappin. The original graffer was an IDL program. This version provides most of the same functionality in a Fortran program using gtk-fortran and plplot for the GUI and plotting respectively. To display functions gdl (gnudatalanguage) or IDL is required.
M_calcomp: old graphics library used in conjunction with M_draw for work with old codes, by urbanjost. The CALCOMP library is a simple set of FORTRAN callable graphic routines that allows users to quickly construct plots.
M_slices: basic slice plot module based on M_draw(3f) and built using fpm, by urbanjost. This version requires X11 Windows.
MUESLI: numerical and graphical library, written mainly in Fortran 95, by Édouard Canot. Fortran Muesli Library contains all necessary materials to numerically work with a dynamic array (dynamic in size, type and structure), called mfArray. Fortran Graphics Library contains graphics routines which use the mfArray objects.
ogpf: Object-Based Interface to gnuplot from Fortran, by kookma
PG2PLplot: facilitate the transition from Fortran code linked against PGPlot to linking it against PLplot, which is open source and maintained. Currently, many PGPlot routines are included, but the code is by no means exhaustive.
PGPLOT PGPLOT Graphics Subroutine Library is a Fortran- or C-callable, device-independent graphics package for making simple scientific graphs, by Tim Pearson. It is intended for making graphical images of publication quality with minimum effort on the part of the user. For most applications, the program can be device-independent, and the output can be directed to the appropriate device at run time.
plotterf90: graphics subroutine library producing Postscript, by Masao Kodama
Plotutil: uses gnuplot to draw plots from data files, by Roninkoi. Has array handling utils and code for sorting and line fitting.
PLplot: can be used to create standard xy plots, semi-log plots, log-log plots, contour plots, 3D surface plots, mesh plots, bar charts and pie charts. Multiple graphs (of the same or different sizes) may be placed on a single page, and multiple pages are allowed for those device formats that support them. C library with bindings to Fortran 2003 and many other languages. archlinux-plplot-fortran has a plplot build for Fortran on archlinux, by Vikas Sharma.
PlPlotLib: wrapper for PlPlot inspired by the interface of matplotlib, by zoziha. It is intended to fill the need for rapid feedback while developing numerical simulations, and does not replace more sophisticated packages such as matplotlib or even direct use of PlPlot.
pltFor: Fortran-Python interface library by Damien Minenna to plot figures directly in Fortran, by calling Matplotlib
PSPLOT: library of Fortran-callable subroutines which can be combined in a calling program to produce PostScript plot files. Intended for users interested in generating technical drawings or graphics for technical journals in PostScript format.
PyFerret: Ferret is an interactive computer visualization and analysis environment designed to meet the needs of oceanographers and meteorologists analyzing large and complex gridded data sets, from NOAA/PMEL. It runs on recent Unix and Mac systems, using X windows for display. PyFerret, introduced in 2012, is a Python module wrapping Ferret.
pyplot-fortran: generate plots from Fortran using Python's matplotlib.pyplot, by Jacob Williams
SPLASH: visualisation tool for Smoothed Particle Hydrodynamics (SPH) simulations in one, two and three dimensions, developed mainly for astrophysics, by Daniel Price et al. It uses a command-line menu but data can be manipulated interactively in the plotting window. SPLASH can also be used as a standalone plotting tool for any kind of tabulated or image data from ascii, csv or .fits files.
efpp: preprocessor for eFortran, a dialect of modern Fortran presented in S. Hosoyamada and A. Kageyama, A Dialect of Modern Fortran for Simulations in Methods and Applications for Modeling and Simulation of Complex Systems, Communications in Computer and Information Science, vol 946, pages 439-448, 2018 (Proceedings of AsiaSim2018).
exceptions: experiment with exceptions in Fortran via a simple preprocessing step, by Arjen Markus
f90 do nest: Python script to generated deeply nested do loops in Fortran, by Thomas Hayward-Schneider. It will generate "classical" nested do/enddo in f90code.F90 and also a do concurrent version in f90code_conc.F90.
FMacro: template preprocessor for Fortran, by Harris Snyder. Aims to address Fortran's lack of support for generic programming with a simple preprocessor, modeled after some of the language committee's early ideas for a template language feature, to be included in a future Fortran standard.
fortiel: Fortran preprocessor and metaprogramming engine, by Jhuighuy
fypp: Python-powered preprocessor, by aradi. It can be used for any programming languages but its primary aim is to offer a Fortran preprocessor, which helps to extend Fortran with condititional compiling and template metaprogramming capabilities
prep: Fortran pre-processor written in Fortran, by urbanjost
Caliper: library to integrate performance profiling capabilities into applications, from LANL. To use Caliper, developers mark code regions of interest using Caliper's annotation API. Applications can then enable performance profiling at runtime with Caliper's configuration API.
HPCToolkit: integrated suite of tools for measurement and analysis of program performance on computers ranging from multicore desktop systems to the nation's largest supercomputers. By using statistical sampling of timers and hardware performance counters, HPCToolkit collects accurate measurements of a program's work, resource consumption, and inefficiency and attributes them to the full calling context in which they occur.
MALloc Tracker (malt): finds where and how memory is allocated in C/C++/Fortran applications
Reference-Counter: extensible, object-oriented reference-counting utility for Fortran, described in Rouson, Morris & Xia (2012) This Isn't Your Parents' Fortran: Managing C++ Objects with Modern Fortran. Computing in Science & Engineering 14(2), 46-54.
timemory: performance measurement and analyis package with modular and reusable components which can be used to adapt to any existing C/C++ performance measurement and analysis API and is arbitrarily extendable by users within their application, from NERSC
FLOPPY: checks FORTRAN 77 code it according to various "coding conventions", by Julian J. Bunn. It can "tidy" the source FORTRAN, producing a new file with indented, do-loops, block if-s, and so on. The FLOW program takes the binary summary file produced by FLOPPY and produces various reports on the structure of the original FORTRAN program.
FordADT: associated with paper An Automated Tool for Upgrading Fortran Codes, by Lesley Mak and Pooya Taheri, Software (2022), discussed here
Fortran Language Program Remodeling system (FLPR): C++17 library for manipulating Fortran source code, from LANL. This package contains a "best effort" Fortran 2018 input parser for fixed and free form inputs, data structures for manipulating source code at the program unit, statement, and physical line levels, and sample applications that illustrate usage and provide some ideas as to how you could use the library.
Glasgow Fortran Source-to-Source Compiler (RefactorF4Acc): automatic refactoring tool to make Fortran code acceleration-ready, by wimvanderbauwhede and rouson. RefactorF4Acc's main purpose is to make legacy FORTRAN 77 acceleration-ready. In the process it converts FORTRAN 77 code into Fortran 95. In addition, RefactorF4Acc has a backend to translate modules to C/OpenCL.
Fortran Kernel Generator: KGen: Python tool that extracts partial codes out of a large Fortran application and converts them into a standalone/verifiable/executable kernel, by Youngsung Kim and John Dennis
fortrantools: tools to enable the use old or proprietary Fortran code with gfortran. They are intended to be used together with the gcc extensions in CodethinkLab's gcc branch.
Refactoring Of QUEstionable FORTran (Roquefort): creates module to replace existing common blocks, removes unused variable imported from modules, transforms implicit variable declaration to explicit variable declaration, and moves variables to a new module, from NLESC-JCER
Tidy: renumbers and otherwise cleans up old and tired FORTRAN source programs. TIDY accepts ANSI Fortran 77 with a default of 19 continuation cards as well as some IBM and CDC dialect FORTRAN statements, originally by Harry Murphy
camfort: refactoring and verification tool for scientific Fortran programs. It currently supports Fortran 66, 77, and 90 with various legacy extensions.
Cleanscape FortranLint: static source code analysis tool that reduces your organizational exposure to risks from latent software problems by automatically identifying problems at their source -- in the Fortran code prior to compiling or executing programs. (C)
CompareFortranNamelists: Python class to compare Fortran namelists, by Kai Keller
Code Comprehension Assistance for Evidence-Based performance Tuning (CCA/EBT): extracts the syntactic/semantic structures from Fortran code and then provides outline views of the loop-nests and the call trees decorated with source code metrics.
FF08Diff: command line tool for obtaining the semantic difference (difference in meaning, rather than appearance) between two sets of Fortran 2008 source files, written in Fortran 2003 by IanH
flint: Little linter for Fortran, with static analysis and formatting, by JonasToth
flint: aspires to be a Fortran parser, delinter, and analyser, by marshallward. For now, it is a Fortran tokenizer, with tools for parsing and automated documentation.
flint: source-code static analyzer and quality checker with multiple programming languages support. For fortran, it intends to follow the coding conventions mentioned in OMS Documentation Wiki page.
Forcheck: oldest and most comprehensive Fortran analysis tool on the market. It performs a static analysis of a Fortran program or separate Fortran program units. (C)
fordoctest: assures consistent documentation of a Fortran code, by Federico E. Benelli, checking on the source files included in a FORD file and warning if there is more than one module per file or if there are undocumented isolated procedures, modules, module procedures, or procedure arguments.
fortitude: Fortran linter and formatter, written in Rust, from PlasmaFAIR
FortranAS: Antlr4-powered FORTRAN parsing and code clone detection tool. FortranAS leverages grammars-v4 to generate parsers and lexers and supports any FORTRAN version with available corresponding grammars.
FortranProcedureDictionary: parses Fortran source files and extract information about procedures such as main programs, modules, functions, and subroutines, by Akhil Akkapelli. It utilizes the ANTLR4 library through PyCall to parse Fortran syntax and generates a text file containing the extracted procedure details.
fortree: Python app that creates call trees of your Fortran code, by Esther Taillifet. Fortree makes call trees, definition trees and dependencies trees.
ForUML: reverse engineering tool that generates Unified Modeling Language (UML) class diagrams from object-oriented Fortran programs, by azizn and Damian Rouson. ForUML understands and diagrams Fortran class relationships, including inheritance and aggregation. ForUML also detects and depicts operator overloading, constructors, and parallel data structures (coarrays).
fortlint: Fortran static source code analysis for more secured and bug free applications
fortrancallgraph: static source code analysis for Fortran, tracking variables in a routine's callgraph, from fortesg
fortran-callgraph: Tool to create call graphs from JULES source code
FORTRAN_callgraph_browser: browsing tool that reads in a directory of Fortran code and displays it as an interactive graph, by Dan Ellis and Richard Rigby
Fortran code quality: simple Python script that parses Fortran files and gives feedback on a few metrics relating to code quality, by Eirik F. Kjønstad and Sander Roet
Fortran linter: simple fortran syntax checker, including automatic fixing of the code, from cphyc
fortran-linter: linter for Fortran 77 using Parsec-like parsing combinators in Python, by uchchwhash
fortran_python_tools: analyzes the variable usage of fixed source form Fortran 77 code, by jinyuntang
FortranTree: parses Fortran source code and creates a call tree graph with Python, by imaliyov. The code relies on pygraphviz and fparser.
fortran-vars: static analysis library for Fortran code. It is built on top of the open source project fortran-src which provides lexing, parsing and basic analyses of Fortran code. Fortran-vars focuses on supporting the Fortran 77 standard and extensions. It provides a Fortran memory model with a symbol table and storage table, constant expressions evaluation, constant propagation analysis.
fparser: parser in Python which supports Fortran 2003 and some Fortran 2008, maintained by Andrew Porter et al., originally by Pearu Peterson
fpt - Tools for Fortran Engineering - Error Checking, Measurement and Assessment, Structural Engineering, Software Migration, Run-time Testing, and more. (C)
fsource: Fortran static analysis tool written in pure Python, by mwallerb
ftnchek: static analyzer for Fortran 77 programs. It is designed to detect certain errors in a Fortran program that a compiler usually does not.
fxtran: parses Fortran source code and decorates it with XML tags. The result is an XML file which can be searched with XPath, and modified with the DOM API.
i-CodeCNES: static code analysis tool to help developers write code compliant with CNES coding rules for Fortran 77, Fortran 90 and Shell, from cnescatlab. Related project: sonar-icode-cnes-plugin
K-scope: source code analysis tool with graphical user interface that visualizes program structures for Fortran 90 and FORTRAN 77 source code. This tool simply visualizes call tree from AST based on compiler's static analysis.
p6-fortran: Fortran language parser in Raku, by Edward Higgins
plusFORT - multi-purpose suite of tools for analyzing and improving Fortran programs, free for personal, educational and academic users working on non-commercial projects. (C)
pyft: Python script that reads a Fortran code, parses it in xml, performs some manipulations, and reverts it to Fortran, from UMR-CNRM. It can add and remove variable declarations, find unused variables, convert code to lower or upper case, and do other things listed here.
Simple Lint GitHub Action (simple_lint): runs simple lint-like actions on files in a git repository, from NOAA-GFDL. The current list of lint actions are to check for trailing whitespace, check Fortran files for use of tab characters, and check Fortran files for lines longer then a specified length.
tree-sitter-fortran: Fortran grammar for tree-sitter, by Matthew Stadelman et al.
Understand: static analysis tool focused on source code comprehension, metrics, and standards testing, supporting standards through Fortran 2008 (C)
atom-build-fpm: plugin for running the Fortran Package Manager (fpm) from within Atom
Code::Blocks: free C/C++ and Fortran IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable. SYLau has created a short tutorial on using Fortran with Code::Blocks.
linter-gfortran: linting Fortran code in Atom with gfortran
f90.kak: modern Fortran syntax for kakoune editor, by Andre Smit
FortranCodeNav: Visual Studio Extension which helps navigate modern Fortran code, by Tiemen Schreuder. It contains several parsers to generate a code structure representation which is used to provide jump-to and search functionality with limited context-awareness.
Fortran IntelliJ Idea plugin: Fortran language plugin for IntelliJ Idea, by satamas
Fortran Language Server: A Fortran implementation of the Language Server Protocol using Python (2.7+ or 3.0+), by hansec. Editor extensions using this language server to provide autocomplete and other IDE-like functionality are available for Atom, Visual Studio Code, Visual Studio, (Neo)vim, and Emacs.
Fortran Language Server (fortls): based on @hansec's original Language Server implementation but the two projects have since diverged. fortls (this project) is now developed independently by gnikit of the upstream hansec/fortran-language-server project and contains numerous bug fixes and new features the original fortran-language-server does not.
fortranNeoVIM: neovim config for Fortran programming, by Vuncano. Config files made using Lua, inpired by third part config. Also FortranDictionary_vim, a Fortran keyword dictionary, or word list, made to use specially with vim's built-in dictionary completion
fortran_syntax_highlighter_lite-xl: syntax highlighter for Fortran in lite-xl, by Rohan Vashisht
fortran.tmbundle: TextMate support for Fortran. TextMate is a graphical text editor for macOS 10.12 or later.
fortran-vim-plugin: Vim plugin for Fortran developers that can be used to jump to the declaration of a variable, subroutine, function, etc. and to all its references, by Tobias Melson
fossil: Fortran IDE designed in Python by someone eager to learn Fortran but in an easy and accessible way, by nrwade0
Guide_VSCode-fortran: comprehensive guide on how to set up a complete development environment for Fortran in Visual Studio Code, by Julian Henneberg
Modern-Fortran: language syntax for highlighting of Fortran code in Sublime Text, by eirik-kjonstad. It highlights modern Fortran (Fortran 90 and newer) and incorporates features introduced in Fortran 2003, 2008, and 2018.
neovim: Vim-fork focused on extensibility and usability
Photran: IDE and refactoring tool for Fortran based on Eclipse and the CDT. Photran supports Fortran 77-2008. It includes 39 refactoring, including Rename, Extract Procedure, and loop transformations
qtcreator-fortran: support for Fortran projects and source files in Qt Creator as well as syntax-highlighting, by Jonas Lindemann
Simply Fortran: modern Fortran development environment for Microsoft Windows, Apple macOS, and GNU/Linux systems. It includes the Aplot library for creating two-dimensional graphs and plots quickly from Fortran routines and AppGraphics for creating graphics and graphical user interfaces from either Fortran or C. Free 30-day trial. (C)
SublimeLinterFortran: linter plugin for SublimeLinter provides an interface to gfortran, by Ramón L. Panadés-Barrueta and Tejas Shetty. It will be used with files that have free format Fortran syntax.
TiddlyFor: single file, self-contained wiki, aa flavor of TiddlyWiki, for a Fortran programmer but that can be used for any other purposes, by Mohammad Rahmani. It can be put on the web, sent as an email attachment, or put on a thumb drive. Some features are syntax highlighting for modern Fortran and support for math formulas through katex.
vim: improved version of the UNIX editor Vi. Many new features have been added: multi-level undo, syntax highlighting, command line history, on-line help, spell checking, filename completion, block operations, script language, etc. Download here.
vimf90: Fortran ide for vim
vim-findent: vim plugin for Findent, which indents Fortran sources, by cradesto
vim-fortran-fpm: convenience functions for integrating vim with Fortran Package Manager, by Alexey Vyskubov
vim-FORTRAN-UPPER: vim plugin for automatic capitalization in Fortran source, by William C. Dawn
vim-tmux-IDE: minimal vim IDE by luco00. Sets a connection with external terminal via tmux to interactively execute code (Python, R, Julia, Fortran, Go are supported).
Visual Studio Code (vscode): combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle, from Microsoft. It provides comprehensive code editing, navigation, and understanding support along with lightweight debugging, a rich extensibility model, and lightweight integration with existing tools.
vs-fortran-ls-client: Language Server Protocol client that connects to Chris Hansen's Fortran Language Server to add IntelliSense for Fortran to Visual Studio 2017
vscode-fortran-support: extension that provides support for the Fortran programming language. It includes syntax highlighting, debugging, code snippets and a linting based on gfortran.
vscode-modern-fortran-formatter: formatter extension for modern Fortran using fprettify, by Yuki Hanayama
Yapakit: free Fortran source code editor for Windows, Linux or Mac. It can automatically an html documentation of a project and generate Fortran 90 dependencies for inclusion in a makefile, taking module dependencies into account
CFortranTranslator: translator from Fortran to C++ that provides statement-wise translation to improve readability, by Calvin Neo and Michael Tesch
f2c: convert Fortran 77 to C
F2C-Translator: translates Fortran to C++, by Bin Lei. Also HPC-Code-translation-and-generation: tests the translation and generation performance of Fortran HPC code using CodeXGLUE and ChatGPT, and OpenMP-Fortran-CPP-Translation, associated with the paper Creating a Dataset for High-Performance Computing Code Translation using LLMs: A Bridge Between OpenMP Fortran and C++
f2cpp: Converts Fortran 77 code to C++, by victorliu. Unlike f2c, the output of f2cpp.pl may or may not compile, however, only a small number of hand-tuned changes are typically needed. The resulting code is much cleaner than f2c's output, and much closer to the original intent of the original Fortran code.
f2j: translate Fortran 77 to Java, especially for BLAS, LAPACK and ARPACK
f2matlab: converts Fortran 90 code to Matlab m-files, by benbarrowes. Accordingly, only basic data types and constructions are recommended.
f2perl: translates Fortran 77 into Perl, by Steve Hancock. Also at GitHub.
f4go: Transpiling Fortran code to golang code, by Konstantin8105
F77Ccompiler: compiler from Fortran 77 to C, by Danil
Fortran-CPP-HPC-code-translation-dataset: data set for the preprint Creating a Dataset for High-Performance Computing Code Translation: A Bridge Between HPC Fortran and C++ (2023), by Bin Lei et al.
Fortran2Cpp: aims to create an accurate and comprehensive Fortran-to-C++ translation dataset for fine-tining LLMS such as ChatGPT-4, by Bin Lei and Chunhua Liao
Fortran to C++ Conversion from Objexx: conversion process preserves the structure and syntax of the Fortran to retain the value of the existing documentation and developer knowledge. Another product converts Fortran to Python (C).
fortran2julia: Python script to translate Fortran 90 to Julia, by algorithmx
fortran2julia: parses to JSON by fortran-parser, after which parse.jl converts to JSON to Julia, by Tom Rottier. Requires dotnet runtime to be installed.
Fortran2Julia.js: converts Fortran codes to Julia codes using regular Expressions, groups and backreferences, by Shuhei Ohno. A web interface is here.
FortranTranspiler.jl: partial transpiler from Fortran to Julia, by Denis Telnov
Incomplete Fortran to C/C++ converter: translates Fortran 77 to readable C/C++, by Sebastian Macke
loki: tool to explore the possible use of source-to-source translation for ECMWF's Integrated Forecasting System (IFS) and associated Fortran software packages. Loki is based on compiler technology (visitor patterns and ASTs) and aims to provide an abstract, language-agnostic representation of a kernel, as well as a programmable (Pythonic) interface that allows developers to experiment with different kernel implementations and optimizations.
c2f: partial C to Fortran translator by David Frank
Macrofort: Fortran code generator in Maple, by Claude Gomez
makeFortran: converts Mathematica Code to Fortran, by joelgog
matlab2fmex: small translator which aims to convert numerical Matlab m-files to Fortran90 mex files, by Ben Barrowes. matlab2fmex first translates an m-file to a Fortran90 mex source file then compiles that Fortran90 file using Matlab's mex and the local compiler.
matlab2fortran: performs some simple conversions from Matlab code to Fortran, by ebranlard
Mc2For: MATLAB to Fortran compiler, from Sable
numeta: simple Just-In-Time (JIT) compiler for Python, focused on metaprogramming, by Andrea Bianchi. Currently, the code generates Fortran code that is compiled and executed.
pyccel: Pyccel can be viewed as a Python-to-Fortran/C converter or a compiler for a Domain Specific Language with Python syntax
automates: Automated Model Assembly from Text, Equations, and Software, from ml4ai
bench-cli: cross-platform command line tool to benchmark commands and other executables/scripts in command lines written in Fortran, by Lateralus138. Very precise and fast.
Fortran Debug Utilities: collection of some utilities useful for debugging code, by Pål Levold
Fortran-gdb-pp: gdb pretty printer for Fortran dynamic types, by Peter Hill
fortran-git: Fortran 2008 ISO C binding interfaces to libgit2, by interkosmos
Fortran-RefCount: simple reference counting for Fortran
fortran-sigwatch: library of routines to provide simple signal watching for Fortran programs, originally by Norman Gray, modified by Michael Hirsch. This allows a minimal level of control of a running program from outside it, for example to tell it to checkpoint itself on receipt of a signal.
Fortran-Standard-Search: shell script searching a string in the titles of the subsection of the Fortran standard, and opening the pages in a PDF viewer, by Vincent Magnin. It is based on pdfgrep, cut and okular.
irep: tool for filling C/C++ or Fortran data structures from Lua input tables, from LLNL
libconfort: a small library to handle simple configuration files from Modern Fortran (2008+), by Dominik Gronkiewicz
nmltab: Python 3 module and command-line tool to tabulate, semantically diff, superset and consistently format Fortran namelist files, with output to text, markdown, csv, latex and namelists, by Andrew Kiss and Aidan Heerdegen. Requires Python 3.4 or later, and f90nml (amongst other packages).
nml-to-f90: generates Fortran source code for handling parameter I/O from a namelist, by perrette
progRESS+repORT (progrep}: utility to show live progress, status and stats of a running simulation or any compute job that executes a given number of iterations, by SomajitDey. Progrep can report for both serial (single-core) and parallel (multi-core/multi-node - eg OpenMP/MPI) jobs.
f90tw: provides Fortran wrappers for a limited subset of the Boost and Google test frameworks functionality, by loudove. At the same time, it offers a rather simple mechanism for setting up and managing test suites in Fortran projects.
ForDebug: library designed for debugging Fortran code, especially within pure procedures, by Seyed Ali Ghasemi
FortCompare: tool to mitigate the amount of behavior changed between two implementations of the same Fortran function or subroutine, by aijac0
fort_test: very lightweight testing framework that supports basic assertions and running of test sets, by Thomas Marks
fortran-testanything: test library supporting the Test Anything Protocol (TAP) inspired by Perl's Test::More module, by dennisdjensen
fortran_test_helper: library to provide assistance to testing, by Jason Christopherson
FortranTestGenerator: automatically generates unit tests for subroutines of existing Fortran applications based on an approach called Capture & Replay, from fortesg
fortran-unit-test: unit test library in Fortran to encourage scientific programmer to write tests, by dongli
fortran_unit_test: minimalistic Fortran unit tests with CMake and CTest, by Felix Chern
Fortran-Unit-Test: shows how to link Fortran code with C/C++ and a testing framework such as Google Test, by Rich Morrison
Fortran_UnitTest: unit test library based on OOP, by zhenkunl. It is strongly inspired by Zofu, and its output format is derived from fortran-unit-test.
Fortran Unit Test Framework (FortUTF): unit test framework written purely in Fortran to be compatible with as many projects as possible, by Kristian Zarębski
Fortran Unit Test Library: pure Fortran library using Object-Oriented Programming (OOP), by zhenkunl. It is strongly inspired by Zofu, and its output format is derived from fortran-unit-test.
Fortran Unit Testing Objects (Fortuno): flexible and extensible Fortran unit testing framework for testing serial, MPI-parallelized and coarray-parallelized applications, by Bálint Aradi
ForUnitTest: simple, object-oriented unit testing framework, by Seyed Ali Ghasemi.
FRUIT: Fortran unit test framework in Ruby, by mortele and michaelkonecny
ftest: minimalistic unit testing, by Ladislav Méri
FUnit: lightweight library for writing, administering, and running unit tests in Fortran, by Andrey Pudov. It is an instance of the xUnit architecture and provides Fortran programmers a basic testing functionality with a flexible variety of user interfaces.
fytest: lightweight unit testing framework for Fortran, by aradi. Thanks to its header-only design, it can be easily bundled with any Fortran project without creating extra dependencies.
julienne: compiler-portable, unit-testing framework for modern Fortran, including accelerated coarray Fortran software, by Katherine Rasmussen and Damian Rouson
M_framework: aggregate of Fortran modules useful for creating terminal messages, comparing expected values to results, writing logfiles and playback journals and performing unit tests for Fortran, by urbanjost
par-funnel: unit test parameterizer using namelist, by Tomohiro Degawa. Par-funnel is not a unit test framework but is intended to be used with other unit test frameworks.
pFUnit: unit testing framework enabling JUnit-like testing of serial and MPI-parallel software written in Fortran, from Goddard-Fortran-Ecosystem. Limited support for OpenMP is also provided in the form of managing exceptions in a thread-safe manner.
tap: minimal producer implementation of the "Test Anything Protocol" (TAP) in Fortran 90, from gzahl
test-drive: lightweight, procedural unit testing framework based on nothing but standard Fortran, by awvwgk. Integration with meson, cmake and Fortran package manager (fpm) is available. testdrive_util by Tomohiro Degawa provides procedures to make using test-drive more convenient.
Testing Or ASsertion Toolkit (TOAST): unit testing library by thomasms and Bob Apthorpe
Vegetables: testing framework written using functional programming principles, by Brad Richardson. As many of its procedures as possible are marked with the pure keyword while still allowing the framework to test impure code.
XFunit: object oriented framework to implement unit testing in Fortran 2018, by Fran Martinez Fadrique. Unit testing with XFunit is structured in suites and units. A test suite typically define all test to be implemented for a Fortran module.